Closed
Bug 483886
Opened 15 years ago
Closed 12 years ago
static analysis incorrectly requires JS_REQUIRES_STACK
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: gal, Unassigned)
Details
No description provided.
Reporter | ||
Comment 1•15 years ago
|
||
Applying this patch makes static analysis fail, but shouldn't. http://hg.mozilla.org/tracemonkey/rev/186ae511d5f2
Reporter | ||
Comment 2•15 years ago
|
||
http://tinderbox.mozilla.org/showlog.cgi?log=TraceMonkey/1237330299.1237330339.25955.gz&fulltext=1
Comment 3•15 years ago
|
||
It looks like the analysis is correct: you're calling guard(), which requires a stack, from guardNotGlobalObject which doesn't have a stack.
Comment 4•15 years ago
|
||
(In reply to comment #3) > It looks like the analysis is correct: you're calling guard(), which requires a > stack, from guardNotGlobalObject which doesn't have a stack. Why do we have to hand-annotate the transitive closure of calls-JS_REQUIRES_STACK? I recall being told we did not need to do anything that computers can infer for us. If a method uses cx->fp, we should hand-annotate. If a method calls a JS_REQUIRES_STACK method, no annotation should be required. /be
Comment 5•15 years ago
|
||
All the automatic analyses are function-local. They can only operate on the declared signature of the functions that are being called. So any method that calls a JS_REQUIRES_STACK method must either 1) be annotated JS_REQUIRES_STACK 2) somewhere in the body of the method, call a function which is JS_FORCES_STACK, so that you know you have safely bailed off trace.
Comment 6•12 years ago
|
||
JS_REQUIRES_STACK has been removed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•