Revision: 18954
Author: [email protected]
Date: Thu Jan 30 16:44:32 2014 UTC
Log: Fix polymorphic load handling.
BUG=
[email protected]
Review URL: https://codereview.chromium.org/150453003
http://code.google.com/p/v8/source/detail?r=18954
Modified:
/branches/bleeding_edge/src/hydrogen.cc
=======================================
--- /branches/bleeding_edge/src/hydrogen.cc Thu Jan 30 13:18:41 2014 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc Thu Jan 30 16:44:32 2014 UTC
@@ -5697,10 +5697,15 @@
int count = 0;
HBasicBlock* join = NULL;
HBasicBlock* number_block = NULL;
+ bool handled_string = false;
bool handle_smi = false;
for (int i = 0; i < types->length() && count < kMaxLoadPolymorphism;
++i) {
PropertyAccessInfo info(this, IC::MapToType(types->at(i)), name);
+ if (info.type()->Is(HeapType::String())) {
+ if (handled_string) continue;
+ handled_string = true;
+ }
if (info.CanLoadMonomorphic()) {
count++;
if (info.type()->Is(HeapType::Number())) {
@@ -5711,8 +5716,8 @@
}
count = 0;
- bool handled_string = false;
HControlInstruction* smi_check = NULL;
+ handled_string = false;
for (int i = 0; i < types->length() && count < kMaxLoadPolymorphism;
++i) {
PropertyAccessInfo info(this, IC::MapToType(types->at(i)), name);
--
--
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.