Closed
Bug 558827
Opened 15 years ago
Closed 14 years ago
TM: trace stopped: 13558: BINDNAME in heavyweight function.
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: humph, Unassigned)
Details
Trying to write a test case for "trace scripted setters/getters" and got the following, which Jason says is probably another bug.
thinking:processing-no-with dave$ cat -n ./getter-setter.js
1 (function () {
2 var x = 0;
3 __defineGetter__("value", function () { return x; });
4 __defineSetter__("value", function (val) { x = val; });
5 for (var i = 0; i < 100000; i++) {
6 value = value + i;
7 }
8 })();
thinking:processing-no-with dave$ TMFLAGS=stats,abort ~/moz/mozilla-central/src/objdir-debug/dist/bin/js -j ./getter-setter.js
trace stopped: 13558: BINDNAME in heavyweight function.
Abort recording of tree ./getter-setter.js:5@42 at ./getter-setter.js:6@43: bindname.
trace stopped: 13558: BINDNAME in heavyweight function.
Abort recording of tree ./getter-setter.js:5@42 at ./getter-setter.js:6@43: bindname.
trace stopped: 13558: BINDNAME in heavyweight function.
Abort recording of tree ./getter-setter.js:5@42 at ./getter-setter.js:6@43: bindname.
recorder: started(3), aborted(3), completed(0), different header(0), trees trashed(0), slot promoted(0), unstable loop variable(0), breaks(0), returns(0), merged loop exits(0), unstableInnerCalls(0), blacklisted(1)
monitor: exits(0), timeouts(0), type mismatch(0), triggered(0), global mismatch(0), flushed(0)
Comment 1•15 years ago
|
||
(In reply to comment #0)
> Trying to write a test case for "trace scripted setters/getters" and got the
> following, which Jason says is probably another bug.
Bug 480192 comment 24 :-P.
/be
Comment 2•15 years ago
|
||
Er, do you really mean to install getters and setters on the global object here? This is at least in "don't do that" territory, and I think, absent evidence of widespread use, not worth optimizing for that reason.
Reporter | ||
Comment 3•15 years ago
|
||
For purposes of a test, it doesn't matter which scope they go in, the global or a closure, the same result occurs. I do need this, yes, in order to stop using with(obj) when implementing a DSL, which will never trace. So hopefully this workaround isn't leading to the same place!
Comment 4•15 years ago
|
||
Jeff, this abort can also happen in otherwise reasonable code.
Comment 5•15 years ago
|
||
'with' and DSLs, again!
Getters and setters on a Call object should be impossible. Anyone seen sign of them? Major bug if so.
Jason, what's a reasonable example of the code that should trace? An ES5 version of the comment 0 test would call Object.defineProperty on the global (|this|).
/be
Reporter | ||
Comment 6•15 years ago
|
||
Jeff, I think you're right. I've found a way around my issue, and filed other TM bugs that are going to get me out of the weeds. This should probably be marked INVALID, though Jason says it's useful to have on file.
Comment 7•14 years ago
|
||
Obsolete with the removal of tracejit.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•