Last Comment Bug 758268 - IonMonkey: Rename forbidOsr and use it when calling functions directly
: IonMonkey: Rename forbidOsr and use it when calling functions directly
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
-- normal (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
: Jason Orendorff [:jorendorff]
Depends on: 755010
Blocks: IonSpeed
  Show dependency treegraph
Reported: 2012-05-24 10:00 PDT by Jan de Mooij [:jandem]
Modified: 2012-05-30 03:09 PDT (History)
2 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Patch (7.52 KB, patch)
2012-05-29 06:13 PDT, Jan de Mooij [:jandem]
dvander: review+
Details | Diff | Splinter Review

Description User image Jan de Mooij [:jandem] 2012-05-24 10:00:44 PDT
I noticed this a few days ago on some crypto benchmark. The following script will bailout every time we call f:

function f(x) {
    return x >>> 0;
for (var i=0; i<200; i++) {
    f(Math.pow(2, 31));

Eventually, we should fix this by adding a double/OOL path or something for >>>. However, in the meantime we should give up after bailing out a few times (and there are no type changes). We do this already when we enter via OSR, but we should also do this for non-OSR code.
Comment 1 User image Jan de Mooij [:jandem] 2012-05-29 06:13:18 PDT
Created attachment 627934 [details] [diff] [review]

Renames forbidOsr to bailoutExpected (better name welcome), and use it also for non-OSR code.
Comment 2 User image Jan de Mooij [:jandem] 2012-05-30 03:09:51 PDT

Note You need to log in before you can comment on or make changes to this bug.