Remove boilerplate code from HydrogenCodeStubs
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b07f94c26a
commit
110003ca2a
@ -167,6 +167,14 @@ class CodeStubGraphBuilder: public CodeStubGraphBuilderBase {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
template <class Stub>
|
||||||
|
static Handle<Code> DoGenerateCode(Stub* stub) {
|
||||||
|
CodeStubGraphBuilder<Stub> builder(stub);
|
||||||
|
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
||||||
|
return chunk->Codegen(Code::COMPILED_STUB);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() {
|
HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() {
|
||||||
Zone* zone = this->zone();
|
Zone* zone = this->zone();
|
||||||
@ -218,12 +226,9 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() {
|
|||||||
|
|
||||||
|
|
||||||
Handle<Code> FastCloneShallowObjectStub::GenerateCode() {
|
Handle<Code> FastCloneShallowObjectStub::GenerateCode() {
|
||||||
CodeStubGraphBuilder<FastCloneShallowObjectStub> builder(this);
|
return DoGenerateCode(this);
|
||||||
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
|
||||||
return chunk->Codegen(Code::COMPILED_STUB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
HValue* CodeStubGraphBuilder<KeyedLoadFastElementStub>::BuildCodeStub() {
|
HValue* CodeStubGraphBuilder<KeyedLoadFastElementStub>::BuildCodeStub() {
|
||||||
HInstruction* load = BuildUncheckedMonomorphicElementAccess(
|
HInstruction* load = BuildUncheckedMonomorphicElementAccess(
|
||||||
@ -235,9 +240,7 @@ HValue* CodeStubGraphBuilder<KeyedLoadFastElementStub>::BuildCodeStub() {
|
|||||||
|
|
||||||
|
|
||||||
Handle<Code> KeyedLoadFastElementStub::GenerateCode() {
|
Handle<Code> KeyedLoadFastElementStub::GenerateCode() {
|
||||||
CodeStubGraphBuilder<KeyedLoadFastElementStub> builder(this);
|
return DoGenerateCode(this);
|
||||||
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
|
||||||
return chunk->Codegen(Code::COMPILED_STUB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -329,9 +332,7 @@ HValue* CodeStubGraphBuilder<ArrayNoArgumentConstructorStub>::BuildCodeStub() {
|
|||||||
|
|
||||||
|
|
||||||
Handle<Code> ArrayNoArgumentConstructorStub::GenerateCode() {
|
Handle<Code> ArrayNoArgumentConstructorStub::GenerateCode() {
|
||||||
CodeStubGraphBuilder<ArrayNoArgumentConstructorStub> builder(this);
|
return DoGenerateCode(this);
|
||||||
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
|
||||||
return chunk->Codegen(Code::COMPILED_STUB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -346,16 +347,12 @@ HValue* CodeStubGraphBuilder<ArraySingleArgumentConstructorStub>::
|
|||||||
|
|
||||||
|
|
||||||
Handle<Code> TransitionElementsKindStub::GenerateCode() {
|
Handle<Code> TransitionElementsKindStub::GenerateCode() {
|
||||||
CodeStubGraphBuilder<TransitionElementsKindStub> builder(this);
|
return DoGenerateCode(this);
|
||||||
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
|
||||||
return chunk->Codegen(Code::COMPILED_STUB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Handle<Code> ArraySingleArgumentConstructorStub::GenerateCode() {
|
Handle<Code> ArraySingleArgumentConstructorStub::GenerateCode() {
|
||||||
CodeStubGraphBuilder<ArraySingleArgumentConstructorStub> builder(this);
|
return DoGenerateCode(this);
|
||||||
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
|
||||||
return chunk->Codegen(Code::COMPILED_STUB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -369,9 +366,7 @@ HValue* CodeStubGraphBuilder<ArrayNArgumentsConstructorStub>::BuildCodeStub() {
|
|||||||
|
|
||||||
|
|
||||||
Handle<Code> ArrayNArgumentsConstructorStub::GenerateCode() {
|
Handle<Code> ArrayNArgumentsConstructorStub::GenerateCode() {
|
||||||
CodeStubGraphBuilder<ArrayNArgumentsConstructorStub> builder(this);
|
return DoGenerateCode(this);
|
||||||
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
|
|
||||||
return chunk->Codegen(Code::COMPILED_STUB);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} } // namespace v8::internal
|
} } // namespace v8::internal
|
||||||
|
Loading…
Reference in New Issue
Block a user