Index: src/stub-cache.cc |
=================================================================== |
--- src/stub-cache.cc (revision 6378) |
+++ src/stub-cache.cc (working copy) |
@@ -507,74 +507,6 @@ |
} |
-namespace { |
- |
-ExternalArrayType ElementsKindToExternalArrayType(JSObject::ElementsKind kind) { |
- switch (kind) { |
- case JSObject::EXTERNAL_BYTE_ELEMENTS: |
- return kExternalByteArray; |
- case JSObject::EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
- return kExternalUnsignedByteArray; |
- case JSObject::EXTERNAL_SHORT_ELEMENTS: |
- return kExternalShortArray; |
- case JSObject::EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
- return kExternalUnsignedShortArray; |
- case JSObject::EXTERNAL_INT_ELEMENTS: |
- return kExternalIntArray; |
- case JSObject::EXTERNAL_UNSIGNED_INT_ELEMENTS: |
- return kExternalUnsignedIntArray; |
- case JSObject::EXTERNAL_FLOAT_ELEMENTS: |
- return kExternalFloatArray; |
- default: |
- UNREACHABLE(); |
- return static_cast<ExternalArrayType>(0); |
- } |
-} |
- |
-} // anonymous namespace |
- |
- |
-MaybeObject* StubCache::ComputeKeyedLoadOrStoreExternalArray( |
- JSObject* receiver, |
- bool is_store) { |
- Code::Flags flags = |
- Code::ComputeMonomorphicFlags( |
- is_store ? Code::KEYED_STORE_IC : Code::KEYED_LOAD_IC, |
- NORMAL); |
- ExternalArrayType array_type = |
- ElementsKindToExternalArrayType(receiver->GetElementsKind()); |
- String* name = |
- is_store ? Heap::KeyedStoreExternalArray_symbol() |
- : Heap::KeyedLoadExternalArray_symbol(); |
- // Use the global maps for the particular external array types, |
- // rather than the receiver's map, when looking up the cached code, |
- // so that we actually canonicalize these stubs. |
- Map* map = Heap::MapForExternalArrayType(array_type); |
- Object* code = map->FindInCodeCache(name, flags); |
- if (code->IsUndefined()) { |
- ExternalArrayStubCompiler compiler; |
- { MaybeObject* maybe_code = |
- is_store ? compiler.CompileKeyedStoreStub(array_type, flags) : |
- compiler.CompileKeyedLoadStub(array_type, flags); |
- if (!maybe_code->ToObject(&code)) return maybe_code; |
- } |
- if (is_store) { |
- PROFILE( |
- CodeCreateEvent(Logger::KEYED_STORE_IC_TAG, Code::cast(code), 0)); |
- } else { |
- PROFILE( |
- CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, Code::cast(code), 0)); |
- } |
- Object* result; |
- { MaybeObject* maybe_result = |
- map->UpdateCodeCache(name, Code::cast(code)); |
- if (!maybe_result->ToObject(&result)) return maybe_result; |
- } |
- } |
- return code; |
-} |
- |
- |
MaybeObject* StubCache::ComputeStoreNormal() { |
return Builtins::builtin(Builtins::StoreIC_Normal); |
} |
@@ -1777,16 +1709,4 @@ |
} |
-MaybeObject* ExternalArrayStubCompiler::GetCode(Code::Flags flags) { |
- Object* result; |
- { MaybeObject* maybe_result = GetCodeWithFlags(flags, "ExternalArrayStub"); |
- if (!maybe_result->ToObject(&result)) return maybe_result; |
- } |
- Code* code = Code::cast(result); |
- USE(code); |
- PROFILE(CodeCreateEvent(Logger::STUB_TAG, code, "ExternalArrayStub")); |
- return result; |
-} |
- |
- |
} } // namespace v8::internal |