Revision: 14437
Author: [email protected]
Date: Thu Apr 25 05:00:07 2013
Log: Relax --debug-code checks that runtime returns are not the hole
ia32, unlike the other architectures, includes a --debug-code check that
asserts that runtime functions do not return the hole. However the new
SuspendJSGeneratorObject runtime does return the hole at times.
This CL adds a wee hack that only signals an error if the callee was not
SuspendJSGeneratorObject.
[email protected]
BUG=
Review URL: https://codereview.chromium.org/13856011
Patch from Andy Wingo <[email protected]>.
http://code.google.com/p/v8/source/detail?r=14437
Modified:
/branches/bleeding_edge/src/ia32/code-stubs-ia32.cc
/branches/bleeding_edge/test/mjsunit/mjsunit.status
=======================================
--- /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc Wed Apr 24 04:32:17
2013
+++ /branches/bleeding_edge/src/ia32/code-stubs-ia32.cc Thu Apr 25 05:00:07
2013
@@ -5051,12 +5051,17 @@
__ dec(Operand::StaticVariable(scope_depth));
}
- // Make sure we're not trying to return 'the hole' from the runtime
- // call as this may lead to crashes in the IC code later.
+ // Runtime functions should not return 'the hole'. Allowing it to
escape may
+ // lead to crashes in the IC code later.
if (FLAG_debug_code) {
Label okay;
__ cmp(eax, masm->isolate()->factory()->the_hole_value());
__ j(not_equal, &okay, Label::kNear);
+ // TODO(wingo): Currently SuspendJSGeneratorObject returns the hole.
Change
+ // to return another sentinel like a harmony symbol.
+ __ cmp(ebx, Immediate(ExternalReference(
+ Runtime::kSuspendJSGeneratorObject, masm->isolate())));
+ __ j(equal, &okay, Label::kNear);
__ int3();
__ bind(&okay);
}
=======================================
--- /branches/bleeding_edge/test/mjsunit/mjsunit.status Wed Apr 24 09:07:44
2013
+++ /branches/bleeding_edge/test/mjsunit/mjsunit.status Thu Apr 25 05:00:07
2013
@@ -34,9 +34,6 @@
# Fails.
regress/regress-1119: FAIL
-# TODO(wingo): Currently fails in no-snapshot mode, hence disabled for now.
-harmony/generators-objects: SKIP
-
# Issue 1719: Slow to collect arrays over several contexts.
regress/regress-524: SKIP
# When that bug is fixed, revert the expectation to:
--
--
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.