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
-~----------~----~----~----~------~----~------~--~---

Reply via email to