| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 20e5b3bd006d659469a198d71d773eb4f5ae7f93..8220fe8932e6561cdf559defe7fe74499cb5904f 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -83,6 +83,7 @@ class LChunkBuilder;
|
| V(CallKnownGlobal) \
|
| V(CallNamed) \
|
| V(CallNew) \
|
| + V(CallNewArray) \
|
| V(CallRuntime) \
|
| V(CallStub) \
|
| V(Change) \
|
| @@ -2005,6 +2006,25 @@ class HCallNew: public HBinaryCall {
|
| };
|
|
|
|
|
| +class HCallNewArray: public HCallNew {
|
| + public:
|
| + HCallNewArray(HValue* context, HValue* constructor, int argument_count,
|
| + Handle<JSGlobalPropertyCell> type_cell)
|
| + : HCallNew(context, constructor, argument_count),
|
| + type_cell_(type_cell) {
|
| + }
|
| +
|
| + Handle<JSGlobalPropertyCell> property_cell() const {
|
| + return type_cell_;
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(CallNewArray)
|
| +
|
| + private:
|
| + Handle<JSGlobalPropertyCell> type_cell_;
|
| +};
|
| +
|
| +
|
| class HCallRuntime: public HCall<1> {
|
| public:
|
| HCallRuntime(HValue* context,
|
| @@ -5325,6 +5345,7 @@ class HFastLiteral: public HMaterializedLiteral<1> {
|
| HValue* context() { return OperandAt(0); }
|
| Handle<JSObject> boilerplate() const { return boilerplate_; }
|
| int total_size() const { return total_size_; }
|
| +
|
| virtual Representation RequiredInputRepresentation(int index) {
|
| return Representation::Tagged();
|
| }
|
|
|