| Index: src/hydrogen-instructions.h
|
| ===================================================================
|
| --- src/hydrogen-instructions.h (revision 7145)
|
| +++ src/hydrogen-instructions.h (working copy)
|
| @@ -123,6 +123,7 @@
|
| V(LoadExternalArrayPointer) \
|
| V(LoadFunctionPrototype) \
|
| V(LoadGlobal) \
|
| + V(LoadGlobalGeneric) \
|
| V(LoadKeyedFastElement) \
|
| V(LoadKeyedGeneric) \
|
| V(LoadNamedField) \
|
| @@ -2811,6 +2812,38 @@
|
| };
|
|
|
|
|
| +class HLoadGlobalGeneric: public HTemplateInstruction<2> {
|
| + public:
|
| + HLoadGlobalGeneric(HValue* context,
|
| + HValue* global_object,
|
| + Handle<String> name,
|
| + bool inside_typeof)
|
| + : name_(name), inside_typeof_(inside_typeof) {
|
| + SetOperandAt(0, context);
|
| + SetOperandAt(1, global_object);
|
| + set_representation(Representation::Tagged());
|
| + SetAllSideEffects();
|
| + }
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| + virtual Representation RequiredInputRepresentation(int index) const {
|
| + return Representation::None();
|
| + }
|
| +
|
| + HValue* context() { return OperandAt(0); }
|
| + HValue* global_object() { return OperandAt(1); }
|
| + 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,
|
|
|