| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index aed0989584b11e6d244a438fc54571301453cfe0..97920967a27a3189a817f8835389958ddd63a66f 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -329,7 +329,7 @@ HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() {
|
| HValue* elements = AddLoadElements(boilerplate);
|
|
|
| IfBuilder if_fixed_cow(this);
|
| - if_fixed_cow.IfCompareMap(elements, factory->fixed_cow_array_map());
|
| + if_fixed_cow.If<HCompareMap>(elements, factory->fixed_cow_array_map());
|
| if_fixed_cow.Then();
|
| environment()->Push(BuildCloneShallowArray(context(),
|
| boilerplate,
|
| @@ -339,7 +339,7 @@ HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() {
|
| if_fixed_cow.Else();
|
|
|
| IfBuilder if_fixed(this);
|
| - if_fixed.IfCompareMap(elements, factory->fixed_array_map());
|
| + if_fixed.If<HCompareMap>(elements, factory->fixed_array_map());
|
| if_fixed.Then();
|
| environment()->Push(BuildCloneShallowArray(context(),
|
| boilerplate,
|
| @@ -392,7 +392,8 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() {
|
| AddInstruction(new(zone) HInstanceSize(boilerplate));
|
| HValue* size_in_words =
|
| AddInstruction(new(zone) HConstant(size >> kPointerSizeLog2));
|
| - checker.IfCompare(boilerplate_size, size_in_words, Token::EQ);
|
| + checker.If<HCompareNumericAndBranch>(boilerplate_size,
|
| + size_in_words, Token::EQ);
|
| checker.Then();
|
|
|
| HValue* size_in_bytes = AddInstruction(new(zone) HConstant(size));
|
| @@ -501,7 +502,9 @@ HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() {
|
|
|
| IfBuilder if_builder(this);
|
|
|
| - if_builder.IfCompare(array_length, graph()->GetConstant0(), Token::EQ);
|
| + if_builder.If<HCompareNumericAndBranch>(array_length,
|
| + graph()->GetConstant0(),
|
| + Token::EQ);
|
| if_builder.Then();
|
|
|
| // Nothing to do, just change the map.
|
| @@ -606,7 +609,8 @@ HValue* CodeStubGraphBuilderBase::BuildArraySingleArgumentConstructor(
|
|
|
| HBoundsCheck* checked_arg = Add<HBoundsCheck>(argument, max_alloc_length);
|
| IfBuilder if_builder(this);
|
| - if_builder.IfCompare(checked_arg, constant_zero, Token::EQ);
|
| + if_builder.If<HCompareNumericAndBranch>(checked_arg, constant_zero,
|
| + Token::EQ);
|
| if_builder.Then();
|
| Push(initial_capacity_node); // capacity
|
| Push(constant_zero); // length
|
| @@ -838,10 +842,11 @@ HValue* CodeStubGraphBuilder<StoreGlobalStub>::BuildCodeInitializedStub() {
|
| set_current_block(NULL);
|
| } else {
|
| HValue* cell = Add<HConstant>(placeholder_cell, Representation::Tagged());
|
| - // Check that the map of the global has not changed.
|
| - AddInstruction(HCheckMaps::New(receiver,
|
| - Handle<Map>(isolate()->heap()->meta_map()),
|
| - zone()));
|
| +
|
| + // Check that the map of the global has not changed: use a placeholder map
|
| + // that will be replaced later with the global object's map.
|
| + Handle<Map> placeholder_map = isolate()->factory()->meta_map();
|
| + AddInstruction(HCheckMaps::New(receiver, placeholder_map, zone()));
|
|
|
| // Load the payload of the global parameter cell. A hole indicates that the
|
| // property has been deleted and that the store must be handled by the
|
|
|