Closed
Bug 825382
Opened 12 years ago
Closed 12 years ago
IonMonkey: Differential Testing: Getting different output w/without --ion-eager with byteLength
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 827659
Tracking | Status | |
---|---|---|
firefox17 | --- | unaffected |
firefox18 | --- | affected |
firefox19 | --- | affected |
firefox20 | --- | affected |
firefox-esr10 | --- | unaffected |
firefox-esr17 | --- | unaffected |
b2g18 | --- | affected |
b2g18-v1.0.1 | --- | affected |
People
(Reporter: gkw, Unassigned)
References
Details
(Keywords: regression, testcase)
g = f = x = new ArrayBuffer
var eval = this
try {
g.toSource = (function() {
x.byteLength
})
eval()
} catch (e) {}
try {
x = [, , , , , , , , , , , 0].slice(6)[5]
print(uneval(this))
} catch (e) {}
shows the following output in js debug and opt shell on m-c changeset 0bb4773db082 without --ion-eager:
...
/snipped for the sake of brevity
...
}, version:function version() {
[native code]
}, wrap:function wrap() {
[native code]
}, wrapWithProto:function wrapWithProto() {
[native code]
}, x:0})
but does not show anything with --ion-eager.
autoBisect shows this is probably related to the following changeset:
The first bad revision is:
changeset: 109238:a85c0f30cdfa
user: Jan de Mooij
date: Thu Oct 04 13:26:16 2012 +0200
summary: Bug 797185 - Disable DVG stack search when building with --enable-more-deterministic. r=decoder
Reporter | ||
Updated•12 years ago
|
Severity: critical → major
Reporter | ||
Comment 1•12 years ago
|
||
autoBisect shows this is probably related to the following changeset:
The first good revision is:
changeset: 118117:86e85b93cad1
user: Jan de Mooij
date: Tue Jan 08 19:13:19 2013 +0100
summary: Bug 827659 - Ensure |this| is an object when inlining getter/setter calls. r=bhackett
jandem, is this a possible fix?
Flags: needinfo?(jdemooij)
Comment 2•12 years ago
|
||
(In reply to Gary Kwong [:gkw] from comment #1)
> jandem, is this a possible fix?
Yes. x.byteLength is a getter. First x is an ArrayBuffer, then x becomes 0. Before the fix for bug 827659, this would throw with --ion-eager because we'd call the getter with a primitive value. With the patch for bug 827659, it correctly results in |undefined| without an exception.
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: needinfo?(jdemooij)
Resolution: --- → DUPLICATE
Comment 3•12 years ago
|
||
Batch edit: Bugs marked status-b2g18: affected after 2/13 branching of v1.0.1 are now also status-b2g18-v1.0.1: affected
status-b2g18-v1.0.1:
--- → affected
You need to log in
before you can comment on or make changes to this bug.
Description
•