| Index: src/interpreter/bytecode-array-builder.h
|
| diff --git a/src/interpreter/bytecode-array-builder.h b/src/interpreter/bytecode-array-builder.h
|
| index cd1c001d30bfa96ac3b73c2976358b0285db087c..1f0badb10ece86457beb6f5e822e8718cf82849c 100644
|
| --- a/src/interpreter/bytecode-array-builder.h
|
| +++ b/src/interpreter/bytecode-array-builder.h
|
| @@ -64,6 +64,9 @@ class BytecodeArrayBuilder {
|
| // Return true if the register |reg| represents a temporary register.
|
| bool RegisterIsTemporary(Register reg) const;
|
|
|
| + // Gets a constant pool entry for the |object|.
|
| + size_t GetConstantPoolEntry(Handle<Object> object);
|
| +
|
| // Constant loads to accumulator.
|
| BytecodeArrayBuilder& LoadLiteral(v8::internal::Smi* value);
|
| BytecodeArrayBuilder& LoadLiteral(Handle<Object> object);
|
| @@ -74,8 +77,10 @@ class BytecodeArrayBuilder {
|
| BytecodeArrayBuilder& LoadFalse();
|
|
|
| // Global loads to the accumulator and stores from the accumulator.
|
| - BytecodeArrayBuilder& LoadGlobal(int slot_index);
|
| - BytecodeArrayBuilder& StoreGlobal(int slot_index, LanguageMode language_mode);
|
| + BytecodeArrayBuilder& LoadGlobal(size_t name_index, int feedback_slot,
|
| + LanguageMode language_mode);
|
| + BytecodeArrayBuilder& StoreGlobal(size_t name_index, int feedback_slot,
|
| + LanguageMode language_mode);
|
|
|
| // Load the object at |slot_index| in |context| into the accumulator.
|
| BytecodeArrayBuilder& LoadContextSlot(Register context, int slot_index);
|
| @@ -87,14 +92,16 @@ class BytecodeArrayBuilder {
|
| BytecodeArrayBuilder& LoadAccumulatorWithRegister(Register reg);
|
| BytecodeArrayBuilder& StoreAccumulatorInRegister(Register reg);
|
|
|
| - // Load properties. The property name should be in the accumulator.
|
| - BytecodeArrayBuilder& LoadNamedProperty(Register object, int feedback_slot,
|
| + // Named load property.
|
| + BytecodeArrayBuilder& LoadNamedProperty(Register object, size_t name_index,
|
| + int feedback_slot,
|
| LanguageMode language_mode);
|
| + // Keyed load property. The key should be in the accumulator.
|
| BytecodeArrayBuilder& LoadKeyedProperty(Register object, int feedback_slot,
|
| LanguageMode language_mode);
|
|
|
| // Store properties. The value to be stored should be in the accumulator.
|
| - BytecodeArrayBuilder& StoreNamedProperty(Register object, Register name,
|
| + BytecodeArrayBuilder& StoreNamedProperty(Register object, size_t name_index,
|
| int feedback_slot,
|
| LanguageMode language_mode);
|
| BytecodeArrayBuilder& StoreKeyedProperty(Register object, Register key,
|
| @@ -184,6 +191,8 @@ class BytecodeArrayBuilder {
|
| static Bytecode BytecodeForKeyedLoadIC(LanguageMode language_mode);
|
| static Bytecode BytecodeForStoreIC(LanguageMode language_mode);
|
| static Bytecode BytecodeForKeyedStoreIC(LanguageMode language_mode);
|
| + static Bytecode BytecodeForLoadGlobal(LanguageMode language_mode);
|
| + static Bytecode BytecodeForStoreGlobal(LanguageMode language_mode);
|
|
|
| static bool FitsInIdx8Operand(int value);
|
| static bool FitsInIdx8Operand(size_t value);
|
| @@ -211,8 +220,6 @@ class BytecodeArrayBuilder {
|
| uint32_t operand_value) const;
|
| bool LastBytecodeInSameBlock() const;
|
|
|
| - size_t GetConstantPoolEntry(Handle<Object> object);
|
| -
|
| int BorrowTemporaryRegister();
|
| void ReturnTemporaryRegister(int reg_index);
|
| int PrepareForConsecutiveTemporaryRegisters(size_t count);
|
|
|