Status: Assigned
Owner: [email protected]
Labels: Type-Bug Priority-Medium Harmony

New issue 4405 by [email protected]: Uncatchable ReferenceError in sloppy mode with --always-opt
https://code.google.com/p/v8/issues/detail?id=4405

This is a bit of a weird bug. This test262 test fails

https://github.com/tc39/test262/blob/master/test/language/block-scope/leave/outermost-binding-updated-in-catch-block-nested-block-let-declaration-unseen-outside-of-block.js

only with --always-opt. The ReferenceError bubbles up to the top rather than being caught by the inner try-catch for some reason.

It's strange that --always-opt affects anything at all, as Crankshaft doesn't optimize try/catch, and all the code is within a try/catch.

We're only noticing this now because the test was previously marked as passing only in strict mode (which is true, it somehow gets caught properly in strict mode but not sloppy mode) but it doesn't have anything to do with the let included--simply deleting that line leads to the same failure.

----

var caught = false;
try {
  {
    let xx = 18;
    throw 25;
  }
} catch (e) {
  caught = true;
  assert.sameValue(e, 25);
  (function () {
    try {
      // NOTE: This checks that the block scope containing xx has been
      // removed from the context chain.
      assert.sameValue(xx, undefined);
      eval('xx');
      assert(false);  // should not reach here
    } catch (e2) {
      assert(e2 instanceof ReferenceError);
    }
  })();
}
assert(caught);

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
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/d/optout.

Reply via email to