Chromium Code Reviews| Index: src/code-stubs-hydrogen.cc |
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
| index 04b9a46fc71a967d5608f980d050c92628fc6326..d06496b1a0dd232bfc24946e49785afa7277faeb 100644 |
| --- a/src/code-stubs-hydrogen.cc |
| +++ b/src/code-stubs-hydrogen.cc |
| @@ -376,13 +376,10 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() { |
| flags)); |
| for (int i = 0; i < size; i += kPointerSize) { |
| + HObjectAccess* access = AccessInobject(factory->empty_string(), i); |
|
danno
2013/05/02 14:16:47
s/AccessInobject/AccessInObjectProperty
titzer
2013/05/03 09:18:41
I've moved this method to HObjectAccess::ForInobje
|
| HInstruction* value = |
| - AddInstruction(new(zone) HLoadNamedField( |
| - boilerplate, true, Representation::Tagged(), i)); |
| - AddInstruction(new(zone) HStoreNamedField(object, |
| - factory->empty_string(), |
| - value, true, |
| - Representation::Tagged(), i)); |
| + AddInstruction(new(zone) HLoadNamedField(boilerplate, access)); |
|
danno
2013/05/02 14:16:47
nit: 4 char indent (please run tools/presubmit.py
titzer
2013/05/03 09:18:41
Done.
|
| + AddStore(object, access, value); |
| } |
| checker.ElseDeopt(); |
| @@ -437,9 +434,9 @@ HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() { |
| AddInstruction(new(zone) HTrapAllocationMemento(js_array)); |
| - HInstruction* array_length = |
| - AddInstruction(HLoadNamedField::NewArrayLength( |
| - zone, js_array, js_array, HType::Smi())); |
| + HInstruction* array_length = AddInstruction( |
| + new(zone) HLoadNamedField(js_array, AccessArrayLength())); |
| + array_length->set_type(HType::Smi()); |
| ElementsKind to_kind = casted_stub()->to_kind(); |
| BuildNewSpaceArrayCheck(array_length, to_kind); |
| @@ -466,20 +463,12 @@ HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() { |
| casted_stub()->from_kind(), new_elements, |
| to_kind, array_length, elements_length); |
| - Factory* factory = isolate()->factory(); |
| - |
| - AddInstruction(new(zone) HStoreNamedField(js_array, |
| - factory->elements_field_string(), |
| - new_elements, true, |
| - Representation::Tagged(), |
| - JSArray::kElementsOffset)); |
| + AddStore(js_array, AccessElements(), new_elements); |
| if_builder.End(); |
| - AddInstruction(new(zone) HStoreNamedField(js_array, factory->length_string(), |
| - map, true, |
| - Representation::Tagged(), |
| - JSArray::kMapOffset)); |
| + AddStore(js_array, AccessMap(), map); |
| + |
| return js_array; |
| } |