| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 964db8bdcc0af450eafe73d541871abb1e4e9c0e..c7b8eea46cc9dd3d5587d1291effc250041ea368 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -1560,7 +1560,9 @@ HValue* HGraphBuilder::BuildRegExpConstructResult(HValue* length,
|
| HValue* native_context = Add<HLoadNamedField>(
|
| global_object, static_cast<HValue*>(NULL),
|
| HObjectAccess::ForGlobalObjectNativeContext());
|
| - AddStoreMapNoWriteBarrier(result, Add<HLoadNamedField>(
|
| + Add<HStoreNamedField>(
|
| + result, HObjectAccess::ForMap(),
|
| + Add<HLoadNamedField>(
|
| native_context, static_cast<HValue*>(NULL),
|
| HObjectAccess::ForContextSlot(Context::REGEXP_RESULT_MAP_INDEX)));
|
| Add<HStoreNamedField>(
|
| @@ -1581,8 +1583,7 @@ HValue* HGraphBuilder::BuildRegExpConstructResult(HValue* length,
|
| input);
|
|
|
| // Initialize the elements header.
|
| - AddStoreMapConstantNoWriteBarrier(elements,
|
| - isolate()->factory()->fixed_array_map());
|
| + AddStoreMapConstant(elements, isolate()->factory()->fixed_array_map());
|
| Add<HStoreNamedField>(elements, HObjectAccess::ForFixedArrayLength(), length);
|
|
|
| // Initialize the elements contents with undefined.
|
| @@ -1832,14 +1833,16 @@ HValue* HGraphBuilder::BuildCreateConsString(
|
| if_onebyte.Then();
|
| {
|
| // We can safely skip the write barrier for storing the map here.
|
| - Handle<Map> map = isolate()->factory()->cons_ascii_string_map();
|
| - AddStoreMapConstantNoWriteBarrier(result, map);
|
| + Add<HStoreNamedField>(
|
| + result, HObjectAccess::ForMap(),
|
| + Add<HConstant>(isolate()->factory()->cons_ascii_string_map()));
|
| }
|
| if_onebyte.Else();
|
| {
|
| // We can safely skip the write barrier for storing the map here.
|
| - Handle<Map> map = isolate()->factory()->cons_string_map();
|
| - AddStoreMapConstantNoWriteBarrier(result, map);
|
| + Add<HStoreNamedField>(
|
| + result, HObjectAccess::ForMap(),
|
| + Add<HConstant>(isolate()->factory()->cons_string_map()));
|
| }
|
| if_onebyte.End();
|
|
|
| @@ -1998,9 +2001,7 @@ HValue* HGraphBuilder::BuildUncheckedStringAdd(
|
| // STRING_TYPE or ASCII_STRING_TYPE here, so we just use STRING_TYPE here.
|
| HAllocate* result = BuildAllocate(
|
| size, HType::String(), STRING_TYPE, allocation_mode);
|
| -
|
| - // We can safely skip the write barrier for storing map here.
|
| - AddStoreMapNoWriteBarrier(result, map);
|
| + Add<HStoreNamedField>(result, HObjectAccess::ForMap(), map);
|
|
|
| // Initialize the string fields.
|
| Add<HStoreNamedField>(result, HObjectAccess::ForStringHashField(),
|
| @@ -2307,7 +2308,7 @@ void HGraphBuilder::BuildInitializeElementsHeader(HValue* elements,
|
| ? factory->fixed_double_array_map()
|
| : factory->fixed_array_map();
|
|
|
| - AddStoreMapConstant(elements, map);
|
| + Add<HStoreNamedField>(elements, HObjectAccess::ForMap(), Add<HConstant>(map));
|
| Add<HStoreNamedField>(elements, HObjectAccess::ForFixedArrayLength(),
|
| capacity);
|
| }
|
| @@ -2812,11 +2813,9 @@ void HGraphBuilder::BuildCreateAllocationMemento(
|
| // This smi value is reset to zero after every gc, overflow isn't a problem
|
| // since the counter is bounded by the new space size.
|
| memento_create_count->ClearFlag(HValue::kCanOverflow);
|
| - HStoreNamedField* store = Add<HStoreNamedField>(
|
| + Add<HStoreNamedField>(
|
| allocation_site, HObjectAccess::ForAllocationSiteOffset(
|
| AllocationSite::kPretenureCreateCountOffset), memento_create_count);
|
| - // No write barrier needed to store a smi.
|
| - store->SkipWriteBarrier();
|
| }
|
| }
|
|
|
| @@ -3034,13 +3033,6 @@ HValue* HGraphBuilder::JSArrayBuilder::AllocateArray(HValue* size_in_bytes,
|
| }
|
|
|
|
|
| -HStoreNamedField* HGraphBuilder::AddStoreMapConstant(HValue *object,
|
| - Handle<Map> map) {
|
| - return Add<HStoreNamedField>(object, HObjectAccess::ForMap(),
|
| - Add<HConstant>(map));
|
| -}
|
| -
|
| -
|
| HValue* HGraphBuilder::AddLoadJSBuiltin(Builtins::JavaScript builtin) {
|
| HValue* global_object = Add<HLoadNamedField>(
|
| context(), static_cast<HValue*>(NULL),
|
|
|