Status: Accepted
Owner: [email protected]
CC: [email protected]
Labels: Type-Bug Priority-High

New issue 3869 by [email protected]: Turbo deoptimization fails mysteriously.
https://code.google.com/p/v8/issues/detail?id=3869

I have added the attached patch. The patch just adds a runtime function that throws an exception:

RUNTIME_FUNCTION(Runtime_ThrowConstructorNonCallableError) {
  HandleScope scope(isolate);
  DCHECK(args.length() == 0);
  THROW_NEW_ERROR_RETURN_FAILURE(
      isolate,
NewTypeError("constructor_noncallable", HandleVector<Object>(NULL, 0)));
}

All very simple and almost exactly a copy of Runtime_ThrowNonMethodError.
However in the following program function f() does not crash, but function g() causes a crash during stacktrace building! No idea why.

[Only crashes with: --turbo-deoptimization --turbo-filter=* --always-opt --nohard-abort --allow-natives-syntax]

'use strict';
function f() {
  if (!%_IsConstructCall()) {
    return %ThrowNonMethodError();
  }
}

try {
f();
} catch (e) {}

function g() {
  if (!%_IsConstructCall()) {
    return %ThrowConstructorNonCallableError();
  }
}

try {
g();
} catch(e) {}




Attachments:
        patch  2.0 KB

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