Revision: 14547
Author: mvstan...@chromium.org
Date: Fri May 3 08:18:31 2013
Log: Before comparing input with a constant smi in
GenerateRecordCallTarget(), make sure the input register is actually a smi.
BUG=
Review URL: https://codereview.chromium.org/14803005
http://code.google.com/p/v8/source/detail?r=14547
Modified:
/branches/bleeding_edge/src/arm/code-stubs-arm.cc
/branches/bleeding_edge/src/ia32/code-stubs-ia32.cc
/branches/bleeding_edge/src/x64/code-stubs-x64.cc
=======================================
--- /branches/bleeding_edge/src/arm/code-stubs-arm.cc Fri May 3 03:36:16
2013
+++ /branches/bleeding_edge/src/arm/code-stubs-arm.cc Fri May 3 08:18:31
2013
@@ -4750,6 +4750,7 @@
Handle<Object> terminal_kind_sentinel =
TypeFeedbackCells::MonomorphicArraySentinel(masm->isolate(),
LAST_FAST_ELEMENTS_KIND);
+ __ JumpIfNotSmi(r3, &miss);
__ cmp(r3, Operand(terminal_kind_sentinel));
__ b(gt, &miss);
// Make sure the function is the Array() function
=======================================
--- /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc Fri May 3 03:36:16
2013
+++ /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc Fri May 3 08:18:31
2013
@@ -4775,6 +4775,7 @@
Handle<Object> terminal_kind_sentinel =
TypeFeedbackCells::MonomorphicArraySentinel(isolate,
LAST_FAST_ELEMENTS_KIND);
+ __ JumpIfNotSmi(ecx, &miss);
__ cmp(ecx, Immediate(terminal_kind_sentinel));
__ j(above, &miss);
// Load the global or builtins object from the current context
=======================================
--- /branches/bleeding_edge/src/x64/code-stubs-x64.cc Fri May 3 03:36:16
2013
+++ /branches/bleeding_edge/src/x64/code-stubs-x64.cc Fri May 3 08:18:31
2013
@@ -3835,6 +3835,7 @@
Handle<Object> terminal_kind_sentinel =
TypeFeedbackCells::MonomorphicArraySentinel(isolate,
LAST_FAST_ELEMENTS_KIND);
+ __ JumpIfNotSmi(rcx, &miss);
__ Cmp(rcx, terminal_kind_sentinel);
__ j(above, &miss);
// Make sure the function is the Array() function
--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.