Chromium Code Reviews| Index: src/code-stubs-hydrogen.cc |
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
| index 14bd8f9c9439afe5512ecce4526d14c5e5c0a4b1..bec3e64d8e8f4117cf6c9a50fe11f88f9ce27d0b 100644 |
| --- a/src/code-stubs-hydrogen.cc |
| +++ b/src/code-stubs-hydrogen.cc |
| @@ -204,10 +204,10 @@ class CodeStubGraphBuilder: public CodeStubGraphBuilderBase { |
| protected: |
| virtual HValue* BuildCodeStub() { |
| - if (casted_stub()->IsMiss()) { |
| - return BuildCodeInitializedStub(); |
| - } else { |
| + if (casted_stub()->IsUninitialized()) { |
| return BuildCodeUninitializedStub(); |
| + } else { |
| + return BuildCodeInitializedStub(); |
|
Toon Verwaest
2013/05/24 10:59:17
Nice catch. So confusing.
|
| } |
| } |
| @@ -276,16 +276,17 @@ static Handle<Code> DoGenerateCode(Stub* stub) { |
| if (descriptor->register_param_count_ < 0) { |
| stub->InitializeInterfaceDescriptor(isolate, descriptor); |
| } |
| - // The miss case without stack parameters can use a light-weight stub to enter |
| + |
| + // If we are uninitialized we can use a light-weight stub to enter |
| // the runtime that is significantly faster than using the standard |
| // stub-failure deopt mechanism. |
| - if (stub->IsMiss() && descriptor->stack_parameter_count_ == NULL) { |
| + if (stub->IsUninitialized() && descriptor->has_miss_handler()) { |
| + ASSERT(descriptor->stack_parameter_count_ == NULL); |
| return stub->GenerateLightweightMissCode(isolate); |
| - } else { |
| - CodeStubGraphBuilder<Stub> builder(stub); |
| - LChunk* chunk = OptimizeGraph(builder.CreateGraph()); |
| - return chunk->Codegen(); |
| } |
| + CodeStubGraphBuilder<Stub> builder(stub); |
| + LChunk* chunk = OptimizeGraph(builder.CreateGraph()); |
| + return chunk->Codegen(); |
| } |
| @@ -676,7 +677,7 @@ Handle<Code> ArrayNArgumentsConstructorStub::GenerateCode() { |
| template <> |
| -HValue* CodeStubGraphBuilder<CompareNilICStub>::BuildCodeUninitializedStub() { |
| +HValue* CodeStubGraphBuilder<CompareNilICStub>::BuildCodeInitializedStub() { |
| CompareNilICStub* stub = casted_stub(); |
| HIfContinuation continuation; |
| Handle<Map> sentinel_map(graph()->isolate()->heap()->meta_map()); |