| Index: src/hydrogen-instructions.h
|
| ===================================================================
|
| --- src/hydrogen-instructions.h (revision 5936)
|
| +++ src/hydrogen-instructions.h (working copy)
|
| @@ -106,6 +106,7 @@
|
| // HGlobalReceiver
|
| // HLeaveInlined
|
| // HLoadGlobal
|
| +// HLoadGlobalGeneric
|
| // HMaterializedLiteral
|
| // HArrayLiteral
|
| // HObjectLiteral
|
| @@ -132,6 +133,7 @@
|
| // HTypeofIs
|
| // HLoadNamedField
|
| // HPushArgument
|
| +// HStoreGlobal
|
| // HTypeof
|
| // HUnaryMathOperation
|
| // HUnaryPredicate
|
| @@ -214,6 +216,7 @@
|
| V(LeaveInlined) \
|
| V(LoadElements) \
|
| V(LoadGlobal) \
|
| + V(LoadGlobalGeneric) \
|
| V(LoadKeyedFastElement) \
|
| V(LoadKeyedGeneric) \
|
| V(LoadNamedField) \
|
| @@ -2432,9 +2435,6 @@
|
| Handle<JSGlobalPropertyCell> cell() const { return cell_; }
|
| bool check_hole_value() const { return check_hole_value_; }
|
|
|
| - virtual Representation RequiredInputRepresentation(int index) const {
|
| - return Representation::Tagged();
|
| - }
|
| virtual void PrintDataTo(StringStream* stream) const;
|
|
|
| virtual intptr_t Hashcode() const {
|
| @@ -2456,6 +2456,27 @@
|
| };
|
|
|
|
|
| +class HLoadGlobalGeneric: public HInstruction {
|
| + public:
|
| + HLoadGlobalGeneric(Handle<String> name, bool inside_typeof)
|
| + : name_(name), inside_typeof_(inside_typeof) {
|
| + set_representation(Representation::Tagged());
|
| + SetFlagMask(AllSideEffects());
|
| + }
|
| +
|
| + virtual void PrintDataTo(StringStream* stream) const;
|
| +
|
| + Handle<String> name() const { return name_; }
|
| + bool inside_typeof() const { return inside_typeof_; }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load_global_generic")
|
| +
|
| + private:
|
| + Handle<String> name_;
|
| + bool inside_typeof_;
|
| +};
|
| +
|
| +
|
| class HStoreGlobal: public HUnaryOperation {
|
| public:
|
| HStoreGlobal(HValue* value, Handle<JSGlobalPropertyCell> cell)
|
|
|