Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: src/hydrogen.cc

Issue 316023002: --debug-code: sanity-checking instrumentation for Lithium object accesses (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 36d62d271ce7d1b8451324cc923827a2586b6f26..7f7439009042a38777ac840a89296f118a0a3dfa 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -8851,23 +8851,22 @@ void HOptimizedGraphBuilder::VisitCallNew(CallNew* expr) {
{ NoObservableSideEffectsScope no_effects(this);
ASSERT(initial_map->instance_type() == JS_OBJECT_TYPE);
Add<HStoreNamedField>(receiver,
- HObjectAccess::ForMapAndOffset(initial_map, JSObject::kMapOffset),
- Add<HConstant>(initial_map));
+ HObjectAccess::ForMap(),
+ Add<HConstant>(initial_map));
HValue* empty_fixed_array = Add<HConstant>(factory->empty_fixed_array());
Add<HStoreNamedField>(receiver,
- HObjectAccess::ForMapAndOffset(initial_map,
- JSObject::kPropertiesOffset),
- empty_fixed_array);
+ HObjectAccess::ForPropertiesPointer(),
+ empty_fixed_array);
Add<HStoreNamedField>(receiver,
- HObjectAccess::ForMapAndOffset(initial_map,
- JSObject::kElementsOffset),
- empty_fixed_array);
+ HObjectAccess::ForElementsPointer(),
+ empty_fixed_array);
if (initial_map->inobject_properties() != 0) {
HConstant* undefined = graph()->GetConstantUndefined();
for (int i = 0; i < initial_map->inobject_properties(); i++) {
int property_offset = initial_map->GetInObjectPropertyOffset(i);
Add<HStoreNamedField>(receiver,
- HObjectAccess::ForMapAndOffset(initial_map, property_offset),
+ HObjectAccess::ForMapAndOffset(initial_map, property_offset,
+ HObjectAccess::FOR_FIELD),
undefined);
}
}
@@ -10496,10 +10495,10 @@ HInstruction* HOptimizedGraphBuilder::BuildFastLiteral(
// this store in the folding case.
HConstant* empty_fixed_array = Add<HConstant>(
isolate()->factory()->empty_fixed_array());
- Add<HStoreNamedField>(object, HObjectAccess::ForElementsPointer(),
- empty_fixed_array);
BuildEmitObjectHeader(boilerplate_object, object);
Igor Sheludko 2014/06/05 09:04:30 I think it is better to move BuildEmitObjectHeader
Jakob Kummerow 2014/06/05 14:33:31 Done.
+ Add<HStoreNamedField>(object, HObjectAccess::ForElementsPointer(),
+ empty_fixed_array, INITIALIZING_STORE);
Igor Sheludko 2014/06/05 09:04:30 I think it is cleaner not to pass INITIALIZING_STO
Jakob Kummerow 2014/06/05 14:33:31 Done. (I think this was a rebasing artifact, as I
Handle<FixedArrayBase> elements(boilerplate_object->elements());
int elements_size = (elements->length() > 0 &&
@@ -10612,7 +10611,8 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties(
// The access for the store depends on the type of the boilerplate.
HObjectAccess access = boilerplate_object->IsJSArray() ?
HObjectAccess::ForJSArrayOffset(property_offset) :
- HObjectAccess::ForMapAndOffset(boilerplate_map, property_offset);
+ HObjectAccess::ForMapAndOffset(boilerplate_map, property_offset,
+ HObjectAccess::FOR_FIELD);
if (value->IsJSObject()) {
Handle<JSObject> value_object = Handle<JSObject>::cast(value);
@@ -10661,7 +10661,8 @@ void HOptimizedGraphBuilder::BuildEmitInObjectProperties(
ASSERT(boilerplate_object->IsJSObject());
int property_offset = boilerplate_object->GetInObjectPropertyOffset(i);
HObjectAccess access =
- HObjectAccess::ForMapAndOffset(boilerplate_map, property_offset);
+ HObjectAccess::ForMapAndOffset(boilerplate_map, property_offset,
+ HObjectAccess::FOR_FIELD);
Add<HStoreNamedField>(object, access, value_instruction);
}
}
« no previous file with comments | « src/hydrogen.h ('k') | src/hydrogen-instructions.h » ('j') | src/hydrogen-instructions.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698