diff options
Diffstat (limited to 'deps/v8/src/interpreter/bytecode-array-builder.cc')
-rw-r--r-- | deps/v8/src/interpreter/bytecode-array-builder.cc | 28 |
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) { |