Index: src/hydrogen-instructions.h |
=================================================================== |
--- src/hydrogen-instructions.h (revision 6540) |
+++ src/hydrogen-instructions.h (working copy) |
@@ -148,6 +148,7 @@ |
V(Sub) \ |
V(Test) \ |
V(Throw) \ |
+ V(ToFastProperties) \ |
V(Typeof) \ |
V(TypeofIs) \ |
V(UnaryMathOperation) \ |
@@ -3011,21 +3012,25 @@ |
HObjectLiteral(Handle<FixedArray> constant_properties, |
bool fast_elements, |
int literal_index, |
- int depth) |
+ int depth, |
+ bool has_function) |
: HMaterializedLiteral(literal_index, depth), |
constant_properties_(constant_properties), |
- fast_elements_(fast_elements) {} |
+ fast_elements_(fast_elements), |
+ has_function_(has_function) {} |
Handle<FixedArray> constant_properties() const { |
return constant_properties_; |
} |
bool fast_elements() const { return fast_elements_; } |
+ bool has_function() const { return has_function_; } |
DECLARE_CONCRETE_INSTRUCTION(ObjectLiteral, "object_literal") |
private: |
Handle<FixedArray> constant_properties_; |
bool fast_elements_; |
+ bool has_function_; |
}; |
@@ -3077,6 +3082,16 @@ |
}; |
+class HToFastProperties: public HUnaryOperation { |
Mads Ager (chromium)
2011/02/02 13:07:52
Is it OK that this is not marked as changing maps
fschneider
2011/02/02 14:23:32
As discussed I'm making the return value of the To
|
+ public: |
+ explicit HToFastProperties(HValue* value) : HUnaryOperation(value) { |
+ set_representation(Representation::Tagged()); |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(ToFastProperties, "to_fast_properties") |
+}; |
+ |
+ |
class HValueOf: public HUnaryOperation { |
public: |
explicit HValueOf(HValue* value) : HUnaryOperation(value) { |