Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 78673d68cc218fefba2bc09a6c74ae92f724bd9c..7341ba991f6c73b44f39f13539a6290c5b935b7b 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -368,12 +368,10 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() { |
flags)); |
for (int i = 0; i < size; i += kPointerSize) { |
+ ObjectAccess access = AccessInobject(factory->empty_string(), i); |
danno
2013/04/26 09:39:38
Instead of taking the field name, I think this ver
titzer
2013/04/30 15:56:47
Sure. Deferring this change to the follow-up CL.
|
HInstruction* value = |
- AddInstruction(new(zone) HLoadNamedField(boilerplate, true, i)); |
- AddInstruction(new(zone) HStoreNamedField(object, |
- factory->empty_string(), |
- value, |
- true, i)); |
+ AddInstruction(new(zone) HLoadNamedField(boilerplate, access)); |
+ AddStore(object, access, value); |
} |
checker.ElseDeopt(); |
@@ -428,9 +426,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); |
@@ -457,17 +455,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, |
- JSArray::kElementsOffset)); |
+ AddStore(js_array, AccessElements(), new_elements); |
if_builder.End(); |
- AddInstruction(new(zone) HStoreNamedField(js_array, factory->length_string(), |
- map, true, JSArray::kMapOffset)); |
+ AddStore(js_array, AccessMap(), map); |
+ |
return js_array; |
} |