summaryrefslogtreecommitdiff
path: root/deps/v8/src/interpreter/bytecode-array-builder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/interpreter/bytecode-array-builder.cc')
-rw-r--r--deps/v8/src/interpreter/bytecode-array-builder.cc28
1 files changed, 27 insertions, 1 deletions
diff --git a/deps/v8/src/interpreter/bytecode-array-builder.cc b/deps/v8/src/interpreter/bytecode-array-builder.cc
index 33731599c8..a7c95aae7b 100644
--- a/deps/v8/src/interpreter/bytecode-array-builder.cc
+++ b/deps/v8/src/interpreter/bytecode-array-builder.cc
@@ -23,7 +23,7 @@ class RegisterTransferWriter final
public NON_EXPORTED_BASE(ZoneObject) {
public:
RegisterTransferWriter(BytecodeArrayBuilder* builder) : builder_(builder) {}
- ~RegisterTransferWriter() override {}
+ ~RegisterTransferWriter() override = default;
void EmitLdar(Register input) override { builder_->OutputLdarRaw(input); }
@@ -797,6 +797,13 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedProperty(
return *this;
}
+BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedPropertyNoFeedback(
+ Register object, const AstRawString* name) {
+ size_t name_index = GetConstantPoolEntry(name);
+ OutputLdaNamedPropertyNoFeedback(object, name_index);
+ return *this;
+}
+
BytecodeArrayBuilder& BytecodeArrayBuilder::LoadKeyedProperty(
Register object, int feedback_slot) {
OutputLdaKeyedProperty(object, feedback_slot);
@@ -847,6 +854,14 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreNamedProperty(
return StoreNamedProperty(object, name_index, feedback_slot, language_mode);
}
+BytecodeArrayBuilder& BytecodeArrayBuilder::StoreNamedPropertyNoFeedback(
+ Register object, const AstRawString* name, LanguageMode language_mode) {
+ size_t name_index = GetConstantPoolEntry(name);
+ OutputStaNamedPropertyNoFeedback(object, name_index,
+ static_cast<uint8_t>(language_mode));
+ return *this;
+}
+
BytecodeArrayBuilder& BytecodeArrayBuilder::StoreNamedOwnProperty(
Register object, const AstRawString* name, int feedback_slot) {
size_t name_index = GetConstantPoolEntry(name);
@@ -973,6 +988,11 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::CreateArrayLiteral(
return *this;
}
+BytecodeArrayBuilder& BytecodeArrayBuilder::CreateArrayFromIterable() {
+ OutputCreateArrayFromIterable();
+ return *this;
+}
+
BytecodeArrayBuilder& BytecodeArrayBuilder::CreateObjectLiteral(
size_t constant_properties_entry, int literal_index, int flags,
Register output) {
@@ -1375,6 +1395,12 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::CallAnyReceiver(Register callable,
return *this;
}
+BytecodeArrayBuilder& BytecodeArrayBuilder::CallNoFeedback(Register callable,
+ RegisterList args) {
+ OutputCallNoFeedback(callable, args, args.register_count());
+ return *this;
+}
+
BytecodeArrayBuilder& BytecodeArrayBuilder::CallWithSpread(Register callable,
RegisterList args,
int feedback_slot) {