| Index: src/interpreter/bytecode-array-builder.cc
|
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
|
| index 5f97bce75b2f34184e3cd99753aebe084317169a..ecdda2a3551f1cd1f768da7eb4cadcc77d9e4578 100644
|
| --- a/src/interpreter/bytecode-array-builder.cc
|
| +++ b/src/interpreter/bytecode-array-builder.cc
|
| @@ -152,7 +152,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreAccumulatorInRegister(
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedProperty(
|
| Register object, int feedback_slot, LanguageMode language_mode) {
|
| - if (is_strong(language_mode)) {
|
| + if (!is_sloppy(language_mode)) {
|
| UNIMPLEMENTED();
|
| }
|
|
|
| @@ -168,7 +168,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadNamedProperty(
|
|
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::LoadKeyedProperty(
|
| Register object, int feedback_slot, LanguageMode language_mode) {
|
| - if (is_strong(language_mode)) {
|
| + if (!is_sloppy(language_mode)) {
|
| UNIMPLEMENTED();
|
| }
|
|
|
| @@ -182,6 +182,40 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadKeyedProperty(
|
| }
|
|
|
|
|
| +BytecodeArrayBuilder& BytecodeArrayBuilder::StoreNamedProperty(
|
| + Register object, Register name, int feedback_slot,
|
| + LanguageMode language_mode) {
|
| + if (!is_sloppy(language_mode)) {
|
| + UNIMPLEMENTED();
|
| + }
|
| +
|
| + if (FitsInByteOperand(feedback_slot)) {
|
| + Output(Bytecode::kStoreIC, object.ToOperand(), name.ToOperand(),
|
| + static_cast<uint8_t>(feedback_slot));
|
| + } else {
|
| + UNIMPLEMENTED();
|
| + }
|
| + return *this;
|
| +}
|
| +
|
| +
|
| +BytecodeArrayBuilder& BytecodeArrayBuilder::StoreKeyedProperty(
|
| + Register object, Register key, int feedback_slot,
|
| + LanguageMode language_mode) {
|
| + if (!is_sloppy(language_mode)) {
|
| + UNIMPLEMENTED();
|
| + }
|
| +
|
| + if (FitsInByteOperand(feedback_slot)) {
|
| + Output(Bytecode::kKeyedStoreIC, object.ToOperand(), key.ToOperand(),
|
| + static_cast<uint8_t>(feedback_slot));
|
| + } else {
|
| + UNIMPLEMENTED();
|
| + }
|
| + return *this;
|
| +}
|
| +
|
| +
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::Return() {
|
| Output(Bytecode::kReturn);
|
| return *this;
|
|
|