Revision: 2620
Author: [email protected]
Date: Tue Aug 4 07:18:03 2009
Log: X64: Enable specialized stubs for length property.
Review URL: http://codereview.chromium.org/160582
http://code.google.com/p/v8/source/detail?r=2620
Modified:
/branches/bleeding_edge/src/x64/ic-x64.cc
/branches/bleeding_edge/test/cctest/cctest.status
/branches/bleeding_edge/test/mozilla/mozilla.status
=======================================
--- /branches/bleeding_edge/src/x64/ic-x64.cc Mon Aug 3 04:05:26 2009
+++ /branches/bleeding_edge/src/x64/ic-x64.cc Tue Aug 4 07:18:03 2009
@@ -606,8 +606,21 @@
void LoadIC::GenerateArrayLength(MacroAssembler* masm) {
- Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
-}
+ // ----------- S t a t e -------------
+ // -- rcx : name
+ // -- rsp[0] : return address
+ // -- rsp[8] : receiver
+ // -----------------------------------
+
+ Label miss;
+
+ __ movq(rax, Operand(rsp, kPointerSize));
+
+ StubCompiler::GenerateLoadArrayLength(masm, rax, rdx, &miss);
+ __ bind(&miss);
+ StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
+}
+
void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) {
Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
@@ -650,8 +663,21 @@
void LoadIC::GenerateStringLength(MacroAssembler* masm) {
- Generate(masm, ExternalReference(IC_Utility(kLoadIC_Miss)));
-}
+ // ----------- S t a t e -------------
+ // -- rcx : name
+ // -- rsp[0] : return address
+ // -- rsp[8] : receiver
+ // -----------------------------------
+
+ Label miss;
+
+ __ movq(rax, Operand(rsp, kPointerSize));
+
+ StubCompiler::GenerateLoadStringLength(masm, rax, rdx, &miss);
+ __ bind(&miss);
+ StubCompiler::GenerateLoadMiss(masm, Code::LOAD_IC);
+}
+
bool LoadIC::PatchInlinedLoad(Address address, Object* map, int offset) {
=======================================
--- /branches/bleeding_edge/test/cctest/cctest.status Mon Aug 3 03:53:45
2009
+++ /branches/bleeding_edge/test/cctest/cctest.status Tue Aug 4 07:18:03
2009
@@ -113,9 +113,6 @@
test-debug/DebuggerHostDispatch: CRASH || FAIL
test-debug/DebugBreakInMessageHandler: CRASH || FAIL
test-debug/NoDebugBreakInAfterCompileMessageHandler: CRASH || FAIL
-test-api/HugeConsStringOutOfMemory: CRASH || FAIL
-test-api/OutOfMemory: CRASH || FAIL
-test-api/OutOfMemoryNested: CRASH || FAIL
test-api/Threading: CRASH || FAIL
test-api/Threading2: PASS || TIMEOUT
test-api/TryCatchSourceInfo: CRASH || FAIL
=======================================
--- /branches/bleeding_edge/test/mozilla/mozilla.status Tue Aug 4 03:22:36
2009
+++ /branches/bleeding_edge/test/mozilla/mozilla.status Tue Aug 4 07:18:03
2009
@@ -815,10 +815,9 @@
js1_5/extensions/regress-336410-2: CRASH
js1_5/extensions/regress-336410-1: CRASH
js1_5/Function/regress-338001: FAIL || CRASH
-js1_5/Array/regress-350256-01: FAIL
js1_5/extensions/regress-371636: CRASH
# The following failures were added when remembered sets were enabled.
-js1_5/GC/regress-203278-2: FAIL || PASS
+js1_5/GC/regress-203278-2: FAIL || PASS || CRASH
js1_5/GC/regress-203278-3: FAIL || PASS
js1_5/Regress/regress-280769-3: FAIL || PASS
js1_5/Regress/regress-280769-4: CRASH || TIMEOUT
@@ -828,3 +827,4 @@
js1_5/Regress/regress-367561-03: CRASH
js1_5/Regress/regress-367561-01: CRASH || PASS
ecma/Expressions/11.7.2: CRASH
+
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---