| Index: src/x64/lithium-x64.h
|
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
|
| index f337e9f0de071c119aad69a765e1c4ef5add51d2..49208f168b3e8b752769b2a7587be867cd648721 100644
|
| --- a/src/x64/lithium-x64.h
|
| +++ b/src/x64/lithium-x64.h
|
| @@ -158,7 +158,6 @@ class LCodeGen;
|
| V(StoreCodeEntry) \
|
| V(StoreContextSlot) \
|
| V(StoreGlobalCell) \
|
| - V(StoreGlobalGeneric) \
|
| V(StoreKeyed) \
|
| V(StoreKeyedGeneric) \
|
| V(StoreNamedField) \
|
| @@ -1540,6 +1539,12 @@ class LLoadKeyed V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| bool is_external() const {
|
| return hydrogen()->is_external();
|
| }
|
| + bool is_fixed_typed_array() const {
|
| + return hydrogen()->is_fixed_typed_array();
|
| + }
|
| + bool is_typed_elements() const {
|
| + return is_external() || is_fixed_typed_array();
|
| + }
|
| LOperand* elements() { return inputs_[0]; }
|
| LOperand* key() { return inputs_[1]; }
|
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
|
| @@ -1605,28 +1610,6 @@ class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 1> {
|
| };
|
|
|
|
|
| -class LStoreGlobalGeneric V8_FINAL : public LTemplateInstruction<0, 3, 0> {
|
| - public:
|
| - explicit LStoreGlobalGeneric(LOperand* context,
|
| - LOperand* global_object,
|
| - LOperand* value) {
|
| - inputs_[0] = context;
|
| - inputs_[1] = global_object;
|
| - inputs_[2] = value;
|
| - }
|
| -
|
| - LOperand* context() { return inputs_[0]; }
|
| - LOperand* global_object() { return inputs_[1]; }
|
| - LOperand* value() { return inputs_[2]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(StoreGlobalGeneric, "store-global-generic")
|
| - DECLARE_HYDROGEN_ACCESSOR(StoreGlobalGeneric)
|
| -
|
| - Handle<Object> name() const { return hydrogen()->name(); }
|
| - StrictModeFlag strict_mode_flag() { return hydrogen()->strict_mode_flag(); }
|
| -};
|
| -
|
| -
|
| class LLoadContextSlot V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LLoadContextSlot(LOperand* context) {
|
| @@ -1808,8 +1791,7 @@ class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
|
| LCallWithDescriptor(const CallInterfaceDescriptor* descriptor,
|
| ZoneList<LOperand*>& operands,
|
| Zone* zone)
|
| - : descriptor_(descriptor),
|
| - inputs_(descriptor->environment_length() + 1, zone) {
|
| + : inputs_(descriptor->environment_length() + 1, zone) {
|
| ASSERT(descriptor->environment_length() + 1 == operands.length());
|
| inputs_.AddAll(operands, zone);
|
| }
|
| @@ -1824,7 +1806,6 @@ class LCallWithDescriptor V8_FINAL : public LTemplateResultInstruction<1> {
|
|
|
| int arity() const { return hydrogen()->argument_count() - 1; }
|
|
|
| - const CallInterfaceDescriptor* descriptor_;
|
| ZoneList<LOperand*> inputs_;
|
|
|
| // Iterator support.
|
| @@ -2167,6 +2148,12 @@ class LStoreKeyed V8_FINAL : public LTemplateInstruction<0, 3, 0> {
|
| }
|
|
|
| bool is_external() const { return hydrogen()->is_external(); }
|
| + bool is_fixed_typed_array() const {
|
| + return hydrogen()->is_fixed_typed_array();
|
| + }
|
| + bool is_typed_elements() const {
|
| + return is_external() || is_fixed_typed_array();
|
| + }
|
| LOperand* elements() { return inputs_[0]; }
|
| LOperand* key() { return inputs_[1]; }
|
| LOperand* value() { return inputs_[2]; }
|
|
|