Revision: 8272
Author:   [email protected]
Date:     Mon Jun 13 23:37:56 2011
Log: MIPS: port Refactor platform-specific code for determining shared stub for keyed load/stores.

Ported r8253 (9d8e6ab).

BUG=
TEST=

Review URL: http://codereview.chromium.org//7003141
Patch from Paul Lind <[email protected]>.
http://code.google.com/p/v8/source/detail?r=8272

Modified:
 /branches/bleeding_edge/src/mips/stub-cache-mips.cc

=======================================
--- /branches/bleeding_edge/src/mips/stub-cache-mips.cc Fri Jun 10 00:14:34 2011 +++ /branches/bleeding_edge/src/mips/stub-cache-mips.cc Mon Jun 13 23:37:56 2011
@@ -3098,15 +3098,8 @@
   //  -- 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::CompileStoreElement(
-    Map* receiver_map) {
+MaybeObject* KeyedStoreStubCompiler::CompileStoreElement(Map* receiver_map) {
   // ----------- S t a t e -------------
   //  -- a0    : value
   //  -- a1    : key
@@ -3197,16 +3189,8 @@
   //  -- 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

Reply via email to