Version 3.24.32 (based on bleeding_edge revision r19087)
Add Box object to heap profiler.
Check the offset argument of TypedArray.set for fitting into Smi (Chromium issue 340125).
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@19088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/hydrogen-load-elimination.cc b/src/hydrogen-load-elimination.cc
index 634d75d..56839b2 100644
--- a/src/hydrogen-load-elimination.cc
+++ b/src/hydrogen-load-elimination.cc
@@ -193,6 +193,10 @@
// load or store for this object and field exists, return the new value with
// which the load should be replaced. Otherwise, return {instr}.
HValue* load(HLoadNamedField* instr) {
+ // There must be no loads from non observable in-object properties.
+ ASSERT(!instr->access().IsInobject() ||
+ instr->access().existing_inobject_property());
+
int field = FieldOf(instr->access());
if (field < 0) return instr;
@@ -217,8 +221,9 @@
// the stored values are the same), return NULL indicating that this store
// instruction is redundant. Otherwise, return {instr}.
HValue* store(HStoreNamedField* instr) {
- if (instr->store_mode() == PREINITIALIZING_STORE) {
- TRACE((" skipping preinitializing store\n"));
+ if (instr->access().IsInobject() &&
+ !instr->access().existing_inobject_property()) {
+ TRACE((" skipping non existing property initialization store\n"));
return instr;
}