| Index: src/interpreter/bytecode-array-builder.cc
|
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
|
| index 70342079e0ffcb4838fe7130ee383eb0252ffa66..2d90ae7d7424f1ca8026427e3ac7876f7e571c24 100644
|
| --- a/src/interpreter/bytecode-array-builder.cc
|
| +++ b/src/interpreter/bytecode-array-builder.cc
|
| @@ -342,6 +342,13 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreKeyedProperty(
|
| }
|
|
|
|
|
| +BytecodeArrayBuilder& BytecodeArrayBuilder::GenericStoreKeyedProperty(
|
| + Register object, Register key) {
|
| + Output(Bytecode::kKeyedStoreICGeneric, object.ToOperand(), key.ToOperand());
|
| + return *this;
|
| +}
|
| +
|
| +
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::PushContext(Register context) {
|
| Output(Bytecode::kPushContext, context.ToOperand());
|
| return *this;
|
| @@ -354,6 +361,19 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::PopContext(Register context) {
|
| }
|
|
|
|
|
| +BytecodeArrayBuilder& BytecodeArrayBuilder::CreateArrayLiteral(
|
| + int literal_index, int flags) {
|
| + DCHECK(FitsInImm8Operand(flags)); // Flags should fit in 8 bytes.
|
| + if (FitsInIdx8Operand(literal_index)) {
|
| + Output(Bytecode::kCreateArrayLiteral, static_cast<uint8_t>(literal_index),
|
| + static_cast<uint8_t>(flags));
|
| + } else {
|
| + UNIMPLEMENTED();
|
| + }
|
| + return *this;
|
| +}
|
| +
|
| +
|
| BytecodeArrayBuilder& BytecodeArrayBuilder::CastAccumulatorToBoolean() {
|
| if (LastBytecodeInSameBlock()) {
|
| // If the previous bytecode puts a boolean in the accumulator
|
|
|