Reviewers: Søren Gjesse,
Description:
MIPS: port Refactor platform-specific code for determining shared stub for
keyed
load/stores.
Ported r8253 (9d8e6ab).
BUG=
TEST=
Please review this at http://codereview.chromium.org/7003141/
Affected files:
M src/mips/stub-cache-mips.cc
Index: src/mips/stub-cache-mips.cc
diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc
index
07844f8d3796f30084303cf9e37b16624ef25cf6..2e946f98f10a955ee49cc3d3dbfe1b1b7c225263
100644
--- a/src/mips/stub-cache-mips.cc
+++ b/src/mips/stub-cache-mips.cc
@@ -3098,15 +3098,8 @@ MaybeObject*
KeyedLoadStubCompiler::CompileLoadElement(Map* receiver_map) {
// -- a0 : key
// -- a1 : receiver
// -----------------------------------
- MaybeObject* maybe_stub;
- if (receiver_map->has_fast_elements()) {
- maybe_stub = KeyedLoadFastElementStub().TryGetCode();
- } else {
- ASSERT(receiver_map->has_external_array_elements());
- JSObject::ElementsKind elements_kind = receiver_map->elements_kind();
- maybe_stub = KeyedLoadExternalArrayStub(elements_kind).TryGetCode();
- }
Code* stub;
+ MaybeObject* maybe_stub =
ComputeSharedKeyedLoadElementStub(receiver_map);
if (!maybe_stub->To(&stub)) return maybe_stub;
__ DispatchMap(a1,
a2,
@@ -3188,8 +3181,7 @@ MaybeObject*
KeyedStoreStubCompiler::CompileStoreField(JSObject* object,
}
-MaybeObject* KeyedStoreStubCompiler::CompileStoreElement(
- Map* receiver_map) {
+MaybeObject* KeyedStoreStubCompiler::CompileStoreElement(Map*
receiver_map) {
// ----------- S t a t e -------------
// -- a0 : value
// -- a1 : key
@@ -3197,16 +3189,8 @@ MaybeObject*
KeyedStoreStubCompiler::CompileStoreElement(
// -- ra : return address
// -- a3 : scratch
// -----------------------------------
- MaybeObject* maybe_stub;
- if (receiver_map->has_fast_elements()) {
- bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE;
- maybe_stub = KeyedStoreFastElementStub(is_js_array).TryGetCode();
- } else {
- ASSERT(receiver_map->has_external_array_elements());
- JSObject::ElementsKind elements_kind = receiver_map->elements_kind();
- maybe_stub = KeyedStoreExternalArrayStub(elements_kind).TryGetCode();
- }
Code* stub;
+ MaybeObject* maybe_stub =
ComputeSharedKeyedStoreElementStub(receiver_map);
if (!maybe_stub->To(&stub)) return maybe_stub;
__ DispatchMap(a2,
a3,
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev