| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index f741f292e8b1f0bf87591fc2c9dafb9e12c5bb78..141e235c4507a2eb698d557c7d1ce41141e255ad 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -5981,13 +5981,18 @@ 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)
|
| + AllocationSiteMode mode,
|
| + int size_without_allocation_sites)
|
| : HMaterializedLiteral<1>(literal_index, depth, mode),
|
| boilerplate_(boilerplate),
|
| - total_size_(total_size) {
|
| + original_boilerplate_(original_boilerplate),
|
| + total_size_(total_size),
|
| + size_without_allocation_sites_(size_without_allocation_sites) {
|
| + ASSERT(!boilerplate.is_identical_to(original_boilerplate));
|
| SetOperandAt(0, context);
|
| SetGVNFlag(kChangesNewSpacePromotion);
|
| }
|
| @@ -5999,7 +6004,13 @@ 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_; }
|
| + int size_without_allocation_sites() const {
|
| + return size_without_allocation_sites_;
|
| + }
|
| virtual Representation RequiredInputRepresentation(int index) {
|
| return Representation::Tagged();
|
| }
|
| @@ -6012,7 +6023,9 @@ class HFastLiteral: public HMaterializedLiteral<1> {
|
|
|
| private:
|
| Handle<JSObject> boilerplate_;
|
| + Handle<JSObject> original_boilerplate_;
|
| int total_size_;
|
| + int size_without_allocation_sites_;
|
| };
|
|
|
|
|
| @@ -6062,8 +6075,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) {
|
|
|