Closed Bug 743425 Opened 12 years ago Closed 11 years ago

Differential Testing: "strict warning: reference to undefined property" is missing with --ion-eager

Categories

(Core :: JavaScript Engine, defect)

x86_64
macOS
defect
Not set
minor

Tracking

()

RESOLVED WONTFIX

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: testcase)

function f() { return [][0]; }
f();
options('strict');
f();


./js              strict warning: reference to undefined property [][0]
./js -a -m -n     (no warning)
Before bug 699705, this didn't trigger a strict warning at all. So it's only sort of a "regression" from bug 699705.
Blocks: 699705
./js              strict warning: reference to undefined property (intermediate value)[0]
./js --no-ion -a  (no warning)

Still occurs on m-c changeset 44dcffe8792b.
--ion-eager does not show the warning, while without the warning, the warning shows.

(tested on m-c changeset 5ddb1bf96261)
Summary: "strict warning: reference to undefined property" is missing with -a -m -n → "strict warning: reference to undefined property" is missing with --ion-eager
Summary: "strict warning: reference to undefined property" is missing with --ion-eager → Differential Testing: "strict warning: reference to undefined property" is missing with --ion-eager
Jan, any idea what may be the issue here? This is one of the last (ancient) bugs affecting differential testing.
Flags: needinfo?(jdemooij)
(In reply to Gary Kwong [:gkw] [:nth10sd] (yes, still catching up on bugmail) from comment #4)
> Jan, any idea what may be the issue here? This is one of the last (ancient)
> bugs affecting differential testing.

The problem is that Ion inlines [][0] and it shouldn't do this with options('strict') because we have to print a warning. Given that options('strict') is a SM extension and --ion-eager is not the default (e.g. in almost all cases people *will* see the warning before the script is Ion-hot), I don't think this is worth fixing.

Gary, Jesse, is this something you can work around in jsfunfuzz? Else we can disable options("strict") somehow in more deterministic builds.
Flags: needinfo?(jdemooij) → needinfo?(gary)
We work around it in jsfunfuzz by not doing any differential testing (between JIT modes) of functions that call options("strict").
I guess this can then be resolved WONTFIX?
Flags: needinfo?(gary) → needinfo?(jdemooij)
(In reply to Gary Kwong [:gkw] [:nth10sd] (yes, still catching up on bugmail) from comment #7)
> I guess this can then be resolved WONTFIX?

Yup :)
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(jdemooij)
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.