Avoid imacros for JSOP_SETELEM and JSOP_INSTANCEOF

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: jorendorff, Assigned: jorendorff)

Tracking

Other Branch
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(status1.9.2 beta1-fixed)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment, 1 obsolete attachment)

Posted patch WIP 1 (obsolete) — Splinter Review
SETELEM only. Fixes bug 509843 too.
Assignee: general → jorendorff
Posted patch v2Splinter Review
I kept getting the left-hand and right-hand side confused in JSOP_INSTANCEOF, because hasInstance reverses them and then insCall wants them reversed again. So I renamed to ctor and val.
Attachment #394066 - Attachment is obsolete: true
Attachment #394104 - Flags: review?(gal)
Comment on attachment 394104 [details] [diff] [review]
v2

I still severely dislike enterDeepBailCall, because Call somewhat implies JSOP_CALL, which this really isn't. This is a builtin ... well invocation is taken too. Trigger too. Call too. I have no alternatives to offer.
Attachment #394104 - Flags: review?(gal) → review+
Duplicate of this bug: 510180
Fails trace-test/mandelbrot in a debug shell and also makes mandelbrot very slow. I suspect frequent side exits.

http://hg.mozilla.org/tracemonkey/rev/a6f1d5c3d3a5
Whiteboard: fixed-in-tracemonkey
(In reply to comment #6)
> Fails trace-test/mandelbrot in a debug shell and also makes mandelbrot very
> slow. I suspect frequent side exits.
> 
> http://hg.mozilla.org/tracemonkey/rev/a6f1d5c3d3a5

/snip
TEST-PASS | trace-test.js | Math.tan(7*Math.PI/4)
TEST-PASS | trace-test.js | Infinity/Math.tan(-0)
TEST-PASS | trace-test.js | createMandelSet
TEST-PASS | trace-test.js | createMandelSet
TEST-PASS | trace-test.js | createMandelSet
TEST-PASS | trace-test.js | createMandelSet
TEST-PASS | trace-test.js | createMandelSet
TEST-PASS | trace-test.js | createMandelSet
trace-test.js:5866: TypeError: escape is not a function

I get this failure in trace-tests.js just prior to gal's backout.
Blocks: 509843
This test was causing everything after it to act a little twitchy:

+function testInitelemWithSetter() {  // bug 509843
+    Object.prototype.__defineSetter__(1, function () { throw "fabulous fit"; });
+    for (var i =0; i<9; i++)
+        ({1:'a'});
+}

Since bug 505588 has landed, every trace-test runs in a new process. Therefore, no more bug. I'll try to reland tomorrow.
Depends on: 511575
http://hg.mozilla.org/mozilla-central/rev/d1171f8cc234
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
oops this was backed out later
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.