| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index 2024d08f5c08574a2156229a9cd2d5b86b0bcbac..8ae7832a6208a2203c14f90fdab7192737ad653a 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -248,6 +248,33 @@ void CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() {
|
| }
|
|
|
|
|
| +template <>
|
| +void CodeStubGraphBuilder<ArrayNoArgumentConstructorStub>::BuildCodeStub() {
|
| + HInstruction* deopt = new(zone()) HSoftDeoptimize();
|
| + AddInstruction(deopt);
|
| + current_block()->MarkAsDeoptimizing();
|
| + HReturn* ret = new(zone()) HReturn(GetParameter(0), context());
|
| + current_block()->Finish(ret);
|
| +}
|
| +
|
| +
|
| +Handle<Code> ArrayNoArgumentConstructorStub::GenerateCode() {
|
| + CodeStubGraphBuilder<ArrayNoArgumentConstructorStub> builder(this);
|
| + LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
| + return chunk->Codegen(Code::COMPILED_STUB);
|
| +}
|
| +
|
| +
|
| +template <>
|
| +void CodeStubGraphBuilder<ArraySingleArgumentConstructorStub>::BuildCodeStub() {
|
| + HInstruction* deopt = new(zone()) HSoftDeoptimize();
|
| + AddInstruction(deopt);
|
| + current_block()->MarkAsDeoptimizing();
|
| + HReturn* ret = new(zone()) HReturn(GetParameter(0), context());
|
| + current_block()->Finish(ret);
|
| +}
|
| +
|
| +
|
| Handle<Code> TransitionElementsKindStub::GenerateCode() {
|
| CodeStubGraphBuilder<TransitionElementsKindStub> builder(this);
|
| LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
| @@ -255,4 +282,27 @@ Handle<Code> TransitionElementsKindStub::GenerateCode() {
|
| }
|
|
|
|
|
| +Handle<Code> ArraySingleArgumentConstructorStub::GenerateCode() {
|
| + CodeStubGraphBuilder<ArraySingleArgumentConstructorStub> builder(this);
|
| + LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
| + return chunk->Codegen(Code::COMPILED_STUB);
|
| +}
|
| +
|
| +
|
| +template <>
|
| +void CodeStubGraphBuilder<ArrayNArgumentsConstructorStub>::BuildCodeStub() {
|
| + HInstruction* deopt = new(zone()) HSoftDeoptimize();
|
| + AddInstruction(deopt);
|
| + current_block()->MarkAsDeoptimizing();
|
| + HReturn* ret = new(zone()) HReturn(GetParameter(0), context());
|
| + current_block()->Finish(ret);
|
| +}
|
| +
|
| +
|
| +Handle<Code> ArrayNArgumentsConstructorStub::GenerateCode() {
|
| + CodeStubGraphBuilder<ArrayNArgumentsConstructorStub> builder(this);
|
| + LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
| + return chunk->Codegen(Code::COMPILED_STUB);
|
| +}
|
| +
|
| } } // namespace v8::internal
|
|
|