Revision: 17417
Author:   jkumme...@chromium.org
Date:     Mon Oct 28 16:32:56 2013 UTC
Log:      Return early from BinaryOpIC::Transition when the JS call failed

This avoids an ASSERT failure in Chromium net_unittests.

R=yang...@chromium.org

Review URL: https://codereview.chromium.org/49103002
http://code.google.com/p/v8/source/detail?r=17417

Modified:
 /branches/bleeding_edge/src/ic.cc

=======================================
--- /branches/bleeding_edge/src/ic.cc   Wed Oct 23 10:41:21 2013 UTC
+++ /branches/bleeding_edge/src/ic.cc   Mon Oct 28 16:32:56 2013 UTC
@@ -2306,6 +2306,7 @@
                          right_type->Maybe(Type::Smi());

   Maybe<Handle<Object> > result = stub.Result(left, right, isolate());
+  if (!result.has_value) return Failure::Exception();

 #ifdef DEBUG
   if (FLAG_trace_ic) {
@@ -2346,9 +2347,8 @@
     PatchInlinedSmiCode(address(), DISABLE_INLINED_SMI_CHECK);
   }

-  return result.has_value
-      ? static_cast<MaybeObject*>(*result.value)
-      : Failure::Exception();
+  ASSERT(result.has_value);
+  return static_cast<MaybeObject*>(*result.value);
 }


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

Reply via email to