Closed
Bug 450529
Opened 18 years ago
Closed 18 years ago
TM: asserts on foxnews.com in 3rd party script
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dvander, Assigned: mrbkap)
References
()
Details
Attachments
(2 files)
|
20.22 KB,
text/plain
|
Details | |
|
12.72 KB,
patch
|
brendan
:
review+
|
Details | Diff | Splinter Review |
Script looks third party, "Prototype JavaScript framework, version 1.5.1.2"
Comment 1•18 years ago
|
||
That assertion doesn't like that regs->pc is out of date, and it wants to peek ahead in the bytecode stream. We could probably parameterize match_or_replace to have the caller pass in the implied-test bit, since we can tell at record time that we hit that case.
| Reporter | ||
Comment 2•18 years ago
|
||
FWIW, seeing this on more than one site -- same assert on Apple's iPhone apps store.
Comment 3•18 years ago
|
||
Builtins shouldn't reach back into the interpreter. We might want to set cx->fp to NULL when entering a trace, and back to its original value on exit in debug builds to catch these cases.
Updated•18 years ago
|
Assignee: general → brendan
Updated•18 years ago
|
Assignee: brendan → mrbkap
| Assignee | ||
Comment 4•18 years ago
|
||
Many thanks to Brendan and Andreas for holding my hand through the builtin jungle.
Attachment #333877 -
Flags: review?(brendan)
Comment 5•18 years ago
|
||
Comment on attachment 333877 [details] [diff] [review]
Proposed fix
>+js_str_match_helper(JSContext *cx, uintN argc, jsval *vp, jsbytecode *pc)
Been using js_StringMatchHelper and the like (see js_StringReplaceHelper).
I'm hip to pc at end.
> TraceRecorder::record_JSOP_CALL()
> {
>- uintN argc = GET_ARGC(cx->fp->regs->pc);
>+ uintN argc = GET_ARGC(pc);
We talked, you're cool with a local pc.
Need a trace-tests.js addition to cover this case. Thanks,
/be
Attachment #333877 -
Flags: review?(brendan) → review+
| Assignee | ||
Comment 6•18 years ago
|
||
http://hg.mozilla.org/tracemonkey/index.cgi/rev/3eaa6a428d52 includes the trace-tests.js testcase.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•