Reviewers: danno,

Description:
Fix unary op type feedback.

BUG=

Please review this at https://codereview.chromium.org/18526003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/objects-inl.h
  M src/type-info.cc


Index: src/objects-inl.h
diff --git a/src/objects-inl.h b/src/objects-inl.h
index f25112939cada014a807e9c7c35d2d61d8230a75..459b67d3d7b47678dede54b36ff0a57e836678d3 100644
--- a/src/objects-inl.h
+++ b/src/objects-inl.h
@@ -3745,7 +3745,8 @@ InlineCacheState Code::ic_state() {


 Code::ExtraICState Code::extra_ic_state() {
-  ASSERT(is_inline_cache_stub() || ic_state() == DEBUG_STUB);
+  ASSERT((is_inline_cache_stub() && !needs_extended_extra_ic_state(kind()))
+         || ic_state() == DEBUG_STUB);
   return ExtractExtraICStateFromFlags(flags());
 }

Index: src/type-info.cc
diff --git a/src/type-info.cc b/src/type-info.cc
index 4a10cafcc04e2e544e0b35d8d688757d1281fef2..b256bb406e4de7f8c40931b856d4b5ec46919bb1 100644
--- a/src/type-info.cc
+++ b/src/type-info.cc
@@ -394,7 +394,7 @@ Handle<Type> TypeFeedbackOracle::UnaryType(TypeFeedbackId id) {
   }
   Handle<Code> code = Handle<Code>::cast(object);
   ASSERT(code->is_unary_op_stub());
-  return UnaryOpStub(code->extra_ic_state()).GetType(isolate());
+  return UnaryOpStub(code->extended_extra_ic_state()).GetType(isolate());
 }




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


Reply via email to