| Index: src/arm64/lithium-arm64.h
|
| diff --git a/src/arm64/lithium-arm64.h b/src/arm64/lithium-arm64.h
|
| index 771b625ecf8698c7dc44ec42c2d9a91af2f13d40..04af5583c742ec8194bb599a9b5ac07d378f8bf4 100644
|
| --- a/src/arm64/lithium-arm64.h
|
| +++ b/src/arm64/lithium-arm64.h
|
| @@ -1720,15 +1720,18 @@ class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> {
|
| };
|
|
|
|
|
| -class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| +class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> {
|
| public:
|
| - LLoadGlobalGeneric(LOperand* context, LOperand* global_object) {
|
| + LLoadGlobalGeneric(LOperand* context, LOperand* global_object,
|
| + LOperand* vector) {
|
| inputs_[0] = context;
|
| inputs_[1] = global_object;
|
| + temps_[0] = vector;
|
| }
|
|
|
| LOperand* context() { return inputs_[0]; }
|
| LOperand* global_object() { return inputs_[1]; }
|
| + LOperand* temp_vector() { return temps_[0]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic")
|
| DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric)
|
| @@ -1817,31 +1820,37 @@ class LLoadKeyedFixedDouble: public LLoadKeyed<1> {
|
| };
|
|
|
|
|
| -class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> {
|
| +class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 1> {
|
| public:
|
| - LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key) {
|
| + LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key,
|
| + LOperand* vector) {
|
| inputs_[0] = context;
|
| inputs_[1] = object;
|
| inputs_[2] = key;
|
| + temps_[0] = vector;
|
| }
|
|
|
| LOperand* context() { return inputs_[0]; }
|
| LOperand* object() { return inputs_[1]; }
|
| LOperand* key() { return inputs_[2]; }
|
| + LOperand* temp_vector() { return temps_[0]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic")
|
| + DECLARE_HYDROGEN_ACCESSOR(LoadKeyedGeneric)
|
| };
|
|
|
|
|
| -class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| +class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> {
|
| public:
|
| - LLoadNamedGeneric(LOperand* context, LOperand* object) {
|
| + LLoadNamedGeneric(LOperand* context, LOperand* object, LOperand* vector) {
|
| inputs_[0] = context;
|
| inputs_[1] = object;
|
| + temps_[0] = vector;
|
| }
|
|
|
| LOperand* context() { return inputs_[0]; }
|
| LOperand* object() { return inputs_[1]; }
|
| + LOperand* temp_vector() { return temps_[0]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic")
|
| DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric)
|
| @@ -3156,6 +3165,8 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| // Temporary operand that must be in a double register.
|
| MUST_USE_RESULT LUnallocated* TempDoubleRegister();
|
|
|
| + MUST_USE_RESULT LOperand* FixedTemp(Register reg);
|
| +
|
| // Temporary operand that must be in a fixed double register.
|
| MUST_USE_RESULT LOperand* FixedTemp(DoubleRegister reg);
|
|
|
|
|