| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 53f1b65755beaa3cbaa3ada0086830d60529bc27..822db385b2556c1a7e84650b798b0fba2395e36e 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -5264,13 +5264,16 @@ class HFastLiteral: public HMaterializedLiteral<1> {
|
| public:
|
| HFastLiteral(HValue* context,
|
| Handle<JSObject> boilerplate,
|
| + Handle<JSObject> original_boilerplate,
|
| int total_size,
|
| int literal_index,
|
| int depth,
|
| AllocationSiteMode mode)
|
| : HMaterializedLiteral<1>(literal_index, depth, mode),
|
| boilerplate_(boilerplate),
|
| + original_boilerplate_(original_boilerplate),
|
| total_size_(total_size) {
|
| + ASSERT(!boilerplate.is_identical_to(original_boilerplate));
|
| SetOperandAt(0, context);
|
| SetGVNFlag(kChangesNewSpacePromotion);
|
| }
|
| @@ -5282,6 +5285,9 @@ class HFastLiteral: public HMaterializedLiteral<1> {
|
|
|
| HValue* context() { return OperandAt(0); }
|
| Handle<JSObject> boilerplate() const { return boilerplate_; }
|
| + Handle<JSObject> original_boilerplate() const {
|
| + return original_boilerplate_;
|
| + }
|
| int total_size() const { return total_size_; }
|
| virtual Representation RequiredInputRepresentation(int index) {
|
| return Representation::Tagged();
|
| @@ -5295,6 +5301,7 @@ class HFastLiteral: public HMaterializedLiteral<1> {
|
|
|
| private:
|
| Handle<JSObject> boilerplate_;
|
| + Handle<JSObject> original_boilerplate_;
|
| int total_size_;
|
| };
|
|
|
| @@ -5345,8 +5352,9 @@ class HObjectLiteral: public HMaterializedLiteral<1> {
|
| bool fast_elements,
|
| int literal_index,
|
| int depth,
|
| - bool has_function)
|
| - : HMaterializedLiteral<1>(literal_index, depth),
|
| + bool has_function,
|
| + AllocationSiteMode mode)
|
| + : HMaterializedLiteral<1>(literal_index, depth, mode),
|
| constant_properties_(constant_properties),
|
| fast_elements_(fast_elements),
|
| has_function_(has_function) {
|
|
|