summaryrefslogtreecommitdiff
path: root/src/3rdparty/v8/src/hydrogen-instructions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/v8/src/hydrogen-instructions.h')
-rw-r--r--src/3rdparty/v8/src/hydrogen-instructions.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/3rdparty/v8/src/hydrogen-instructions.h b/src/3rdparty/v8/src/hydrogen-instructions.h
index d118354..7136657 100644
--- a/src/3rdparty/v8/src/hydrogen-instructions.h
+++ b/src/3rdparty/v8/src/hydrogen-instructions.h
@@ -1602,22 +1602,31 @@ class HDeclareGlobals: public HUnaryOperation {
class HGlobalObject: public HUnaryOperation {
public:
- explicit HGlobalObject(HValue* context) : HUnaryOperation(context) {
+ explicit HGlobalObject(HValue* context) : HUnaryOperation(context), qml_global_(false) {
set_representation(Representation::Tagged());
SetFlag(kUseGVN);
}
+ virtual void PrintDataTo(StringStream* stream);
+
DECLARE_CONCRETE_INSTRUCTION(GlobalObject)
virtual Representation RequiredInputRepresentation(int index) {
return Representation::Tagged();
}
+ bool qml_global() { return qml_global_; }
+ void set_qml_global(bool v) { qml_global_ = v; }
+
protected:
- virtual bool DataEquals(HValue* other) { return true; }
+ virtual bool DataEquals(HValue* other) {
+ HGlobalObject* o = HGlobalObject::cast(other);
+ return o->qml_global_ == qml_global_;
+ }
private:
virtual bool IsDeletable() const { return true; }
+ bool qml_global_;
};
@@ -1812,7 +1821,7 @@ class HCallFunction: public HBinaryCall {
class HCallGlobal: public HUnaryCall {
public:
HCallGlobal(HValue* context, Handle<String> name, int argument_count)
- : HUnaryCall(context, argument_count), name_(name) {
+ : HUnaryCall(context, argument_count), name_(name), qml_global_(false) {
}
virtual void PrintDataTo(StringStream* stream);
@@ -1824,10 +1833,14 @@ class HCallGlobal: public HUnaryCall {
return Representation::Tagged();
}
+ bool qml_global() { return qml_global_; }
+ void set_qml_global(bool v) { qml_global_ = v; }
+
DECLARE_CONCRETE_INSTRUCTION(CallGlobal)
private:
Handle<String> name_;
+ bool qml_global_;
};