Revision: 14552
Author: [email protected]
Date: Mon May 6 05:52:31 2013
Log: Merged r13828, r13847 into 3.17 branch.
Properly handle misses for StoreArrayLengthStub on ia32 and x64
Fix Array.length, String.length and Function.prototype LoadICs on x64.
BUG=v8:2566,v8:2568
[email protected]
Review URL: https://chromiumcodereview.appspot.com/14649015
http://code.google.com/p/v8/source/detail?r=14552
Modified:
/branches/3.17/src/ia32/code-stubs-ia32.cc
/branches/3.17/src/version.cc
/branches/3.17/src/x64/code-stubs-x64.cc
=======================================
--- /branches/3.17/src/ia32/code-stubs-ia32.cc Thu Feb 28 07:55:26 2013
+++ /branches/3.17/src/ia32/code-stubs-ia32.cc Mon May 6 05:52:31 2013
@@ -3323,7 +3323,7 @@
Register value = eax;
Register scratch = ebx;
- if (kind() == Code::KEYED_LOAD_IC) {
+ if (kind() == Code::KEYED_STORE_IC) {
__ cmp(ecx, Immediate(masm->isolate()->factory()->length_symbol()));
__ j(not_equal, &miss);
}
=======================================
--- /branches/3.17/src/version.cc Thu May 2 02:57:44 2013
+++ /branches/3.17/src/version.cc Mon May 6 05:52:31 2013
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 3
#define MINOR_VERSION 17
#define BUILD_NUMBER 6
-#define PATCH_LEVEL 11
+#define PATCH_LEVEL 12
// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
#define IS_CANDIDATE_VERSION 0
=======================================
--- /branches/3.17/src/x64/code-stubs-x64.cc Thu Feb 28 07:55:26 2013
+++ /branches/3.17/src/x64/code-stubs-x64.cc Mon May 6 05:52:31 2013
@@ -2351,6 +2351,7 @@
// -- rsp[0] : return address
// -----------------------------------
__ Cmp(rax, masm->isolate()->factory()->length_symbol());
+ __ j(not_equal, &miss);
receiver = rdx;
} else {
ASSERT(kind() == Code::LOAD_IC);
@@ -2378,6 +2379,7 @@
// -- rsp[0] : return address
// -----------------------------------
__ Cmp(rax, masm->isolate()->factory()->prototype_symbol());
+ __ j(not_equal, &miss);
receiver = rdx;
} else {
ASSERT(kind() == Code::LOAD_IC);
@@ -2405,6 +2407,7 @@
// -- rsp[0] : return address
// -----------------------------------
__ Cmp(rax, masm->isolate()->factory()->length_symbol());
+ __ j(not_equal, &miss);
receiver = rdx;
} else {
ASSERT(kind() == Code::LOAD_IC);
@@ -2443,6 +2446,7 @@
Register scratch = rbx;
if (kind() == Code::KEYED_STORE_IC) {
__ Cmp(rcx, masm->isolate()->factory()->length_symbol());
+ __ j(not_equal, &miss);
}
// Check that the receiver isn't a smi.
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.