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


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

Description Jan de Mooij [:jandem] (PTO until July 31) 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 Jan de Mooij [:jandem] (PTO until July 31) 2012-05-29 06:13:18 PDT
Created attachment 627934 [details] [diff] [review]
Patch

Renames forbidOsr to bailoutExpected (better name welcome), and use it also for non-OSR code.
Comment 2 Jan de Mooij [:jandem] (PTO until July 31) 2012-05-30 03:09:51 PDT
https://hg.mozilla.org/projects/ionmonkey/rev/d28bcb515936

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