Revision: 15789
Author: [email protected]
Date: Mon Jul 22 00:00:46 2013
Log: Replace BuildFastElementAccess() with AddFastElementAccess().
This is trivial cleanup. All calls to BuildFastElementAccess() pass
the result to AddInstruction().
[email protected]
Review URL: https://codereview.chromium.org/19759003
http://code.google.com/p/v8/source/detail?r=15789
Modified:
/branches/bleeding_edge/src/hydrogen.cc
/branches/bleeding_edge/src/hydrogen.h
=======================================
--- /branches/bleeding_edge/src/hydrogen.cc Fri Jul 19 06:45:26 2013
+++ /branches/bleeding_edge/src/hydrogen.cc Mon Jul 22 00:00:46 2013
@@ -1102,40 +1102,6 @@
return load;
}
}
-
-
-HInstruction* HGraphBuilder::BuildFastElementAccess(
- HValue* elements,
- HValue* checked_key,
- HValue* val,
- HValue* load_dependency,
- ElementsKind elements_kind,
- bool is_store,
- LoadKeyedHoleMode load_mode,
- KeyedAccessStoreMode store_mode) {
- Zone* zone = this->zone();
- if (is_store) {
- ASSERT(val != NULL);
- switch (elements_kind) {
- case FAST_SMI_ELEMENTS:
- case FAST_HOLEY_SMI_ELEMENTS:
- case FAST_ELEMENTS:
- case FAST_HOLEY_ELEMENTS:
- case FAST_DOUBLE_ELEMENTS:
- case FAST_HOLEY_DOUBLE_ELEMENTS:
- return new(zone) HStoreKeyed(elements, checked_key, val,
elements_kind);
- default:
- UNREACHABLE();
- return NULL;
- }
- }
- // It's an element load (!is_store).
- return new(zone) HLoadKeyed(elements,
- checked_key,
- load_dependency,
- elements_kind,
- load_mode);
-}
HValue* HGraphBuilder::BuildCheckForCapacityGrow(HValue* object,
@@ -1371,9 +1337,8 @@
}
}
}
- return AddInstruction(
- BuildFastElementAccess(elements, checked_key, val, mapcheck,
- elements_kind, is_store, load_mode,
store_mode));
+ return AddFastElementAccess(elements, checked_key, val, mapcheck,
+ elements_kind, is_store, load_mode,
store_mode);
}
@@ -1468,6 +1433,36 @@
AddStore(array, HObjectAccess::ForElementsPointer(), elements);
return elements;
}
+
+
+HInstruction* HGraphBuilder::AddFastElementAccess(
+ HValue* elements,
+ HValue* checked_key,
+ HValue* val,
+ HValue* load_dependency,
+ ElementsKind elements_kind,
+ bool is_store,
+ LoadKeyedHoleMode load_mode,
+ KeyedAccessStoreMode store_mode) {
+ if (is_store) {
+ ASSERT(val != NULL);
+ switch (elements_kind) {
+ case FAST_SMI_ELEMENTS:
+ case FAST_HOLEY_SMI_ELEMENTS:
+ case FAST_ELEMENTS:
+ case FAST_HOLEY_ELEMENTS:
+ case FAST_DOUBLE_ELEMENTS:
+ case FAST_HOLEY_DOUBLE_ELEMENTS:
+ return Add<HStoreKeyed>(elements, checked_key, val, elements_kind);
+ default:
+ UNREACHABLE();
+ return NULL;
+ }
+ }
+ // It's an element load (!is_store).
+ return Add<HLoadKeyed>(
+ elements, checked_key, load_dependency, elements_kind, load_mode);
+}
HLoadNamedField* HGraphBuilder::AddLoadElements(HValue* object,
@@ -5711,9 +5706,9 @@
HInstruction* length = AddLoadFixedArrayLength(elements);
checked_key = Add<HBoundsCheck>(key, length);
}
- access = AddInstruction(BuildFastElementAccess(
+ access = AddFastElementAccess(
elements, checked_key, val, mapcompare,
- elements_kind, is_store, NEVER_RETURN_HOLE, STANDARD_STORE));
+ elements_kind, is_store, NEVER_RETURN_HOLE, STANDARD_STORE);
} else if (IsDictionaryElementsKind(elements_kind)) {
if (is_store) {
access = AddInstruction(BuildStoreKeyedGeneric(object, key, val));
=======================================
--- /branches/bleeding_edge/src/hydrogen.h Fri Jul 19 06:30:49 2013
+++ /branches/bleeding_edge/src/hydrogen.h Mon Jul 22 00:00:46 2013
@@ -1054,16 +1054,6 @@
ElementsKind elements_kind,
bool is_store);
- HInstruction* BuildFastElementAccess(
- HValue* elements,
- HValue* checked_key,
- HValue* val,
- HValue* dependency,
- ElementsKind elements_kind,
- bool is_store,
- LoadKeyedHoleMode load_mode,
- KeyedAccessStoreMode store_mode);
-
HValue* BuildCheckForCapacityGrow(HValue* object,
HValue* elements,
ElementsKind kind,
@@ -1104,6 +1094,16 @@
HObjectAccess access,
Representation representation);
+ HInstruction* AddFastElementAccess(
+ HValue* elements,
+ HValue* checked_key,
+ HValue* val,
+ HValue* dependency,
+ ElementsKind elements_kind,
+ bool is_store,
+ LoadKeyedHoleMode load_mode,
+ KeyedAccessStoreMode store_mode);
+
HStoreNamedField* AddStore(
HValue *object,
HObjectAccess access,
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.