| Index: src/x64/lithium-x64.h
|
| ===================================================================
|
| --- src/x64/lithium-x64.h (revision 7211)
|
| +++ src/x64/lithium-x64.h (working copy)
|
| @@ -118,7 +118,8 @@
|
| V(LoadContextSlot) \
|
| V(LoadElements) \
|
| V(LoadExternalArrayPointer) \
|
| - V(LoadGlobal) \
|
| + V(LoadGlobalCell) \
|
| + V(LoadGlobalGeneric) \
|
| V(LoadKeyedFastElement) \
|
| V(LoadKeyedGeneric) \
|
| V(LoadNamedField) \
|
| @@ -1226,13 +1227,28 @@
|
| };
|
|
|
|
|
| -class LLoadGlobal: public LTemplateInstruction<1, 0, 0> {
|
| +class LLoadGlobalCell: public LTemplateInstruction<1, 0, 0> {
|
| public:
|
| - DECLARE_CONCRETE_INSTRUCTION(LoadGlobal, "load-global")
|
| - DECLARE_HYDROGEN_ACCESSOR(LoadGlobal)
|
| + DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell")
|
| + DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell)
|
| };
|
|
|
|
|
| +class LLoadGlobalGeneric: public LTemplateInstruction<1, 1, 0> {
|
| + public:
|
| + explicit LLoadGlobalGeneric(LOperand* global_object) {
|
| + inputs_[0] = global_object;
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic")
|
| + DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric)
|
| +
|
| + LOperand* global_object() { return inputs_[0]; }
|
| + Handle<Object> name() const { return hydrogen()->name(); }
|
| + bool for_typeof() const { return hydrogen()->for_typeof(); }
|
| +};
|
| +
|
| +
|
| class LStoreGlobal: public LTemplateInstruction<0, 1, 1> {
|
| public:
|
| explicit LStoreGlobal(LOperand* value, LOperand* temp) {
|
|
|