| Index: src/interpreter/bytecode-array-builder.cc
|
| diff --git a/src/interpreter/bytecode-array-builder.cc b/src/interpreter/bytecode-array-builder.cc
|
| index 26b5414b3a6b79305c066696a13cc0ef1a6622c9..a4124a8a33277794751ed39161532d189bf54dc9 100644
|
| --- a/src/interpreter/bytecode-array-builder.cc
|
| +++ b/src/interpreter/bytecode-array-builder.cc
|
| @@ -696,6 +696,13 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::CallRuntime(
|
| }
|
|
|
|
|
| +BytecodeArrayBuilder& BytecodeArrayBuilder::Delete(Register object,
|
| + LanguageMode language_mode) {
|
| + Output(BytecodeForDelete(language_mode), object.ToOperand());
|
| + return *this;
|
| +}
|
| +
|
| +
|
| size_t BytecodeArrayBuilder::GetConstantPoolEntry(Handle<Object> object) {
|
| // These constants shouldn't be added to the constant pool, the should use
|
| // specialzed bytecodes instead.
|
| @@ -1016,6 +1023,23 @@ Bytecode BytecodeArrayBuilder::BytecodeForCreateArguments(
|
|
|
|
|
| // static
|
| +Bytecode BytecodeArrayBuilder::BytecodeForDelete(
|
| + LanguageMode language_mode) {
|
| + switch (language_mode) {
|
| + case SLOPPY:
|
| + return Bytecode::kDeletePropertySloppy;
|
| + case STRICT:
|
| + return Bytecode::kDeletePropertyStrict;
|
| + case STRONG:
|
| + UNIMPLEMENTED();
|
| + default:
|
| + UNREACHABLE();
|
| + }
|
| + return static_cast<Bytecode>(-1);
|
| +}
|
| +
|
| +
|
| +// static
|
| bool BytecodeArrayBuilder::FitsInIdx8Operand(int value) {
|
| return kMinUInt8 <= value && value <= kMaxUInt8;
|
| }
|
|
|