Closed
Bug 1304640
Opened 8 years ago
Closed 8 years ago
Differential Testing: Different output message involving RegExp
Categories
(Core :: JavaScript Engine: JIT, defect, P1)
Tracking
()
RESOLVED
FIXED
mozilla52
Tracking | Status | |
---|---|---|
firefox52 | --- | fixed |
People
(Reporter: gkw, Assigned: h4writer)
References
Details
(Keywords: testcase)
Attachments
(1 file)
1.96 KB,
patch
|
arai
:
review+
|
Details | Diff | Splinter Review |
function f() { return /x/; } function g() { return (f() == f()); } for (var i = 0; i < 2; ++i) { print(g()); } $ ./js-dbg-64-dm-clang-darwin-560b2c805bf7 --fuzzing-safe --no-threads --no-baseline --no-ion testcase.js false false $ ./js-dbg-64-dm-clang-darwin-560b2c805bf7 --fuzzing-safe --no-threads --ion-eager testcase.js false true Tested this on m-c rev 560b2c805bf7. My configure flags are: CC="clang -Qunused-arguments" CXX="clang++ -Qunused-arguments" AR=ar AUTOCONF=/usr/local/Cellar/autoconf213/2.13/bin/autoconf213 sh /Users/skywalker/trees/mozilla-central/js/src/configure --target=x86_64-apple-darwin14.5.0 --disable-jemalloc --enable-debug --enable-more-deterministic --with-ccache --enable-gczeal --enable-debug-symbols --disable-tests python -u ~/funfuzz/js/compileShell.py -b "--enable-debug --enable-more-deterministic" -r 560b2c805bf7 autoBisect shows this is probably related to the following changeset: The first bad revision is: changeset: https://hg.mozilla.org/mozilla-central/rev/539bcdf33f32 user: Hannes Verschore date: Thu Jun 02 12:21:33 2016 +0200 summary: Bug 1275038 - IonMonkey: Remove regexp clone analysis in favor of hoist analysis, r=jandem Hannes, is bug 1275038 a likely regressor?
Flags: needinfo?(hv1989)
Assignee | ||
Updated•8 years ago
|
Flags: needinfo?(hv1989)
Priority: -- → P1
Assignee | ||
Comment 1•8 years ago
|
||
Comparing "/test/ == /test/" should be false, since we initiate two different objects. Currently we allow them to not clone themself, which makes them the same object, creating a wrong result. The patch disables cloning when we are comparing objects.
Assignee: nobody → hv1989
Attachment #8802132 -
Flags: review?(arai.unmht)
Comment 2•8 years ago
|
||
Comment on attachment 8802132 [details] [diff] [review] Patch Review of attachment 8802132 [details] [diff] [review]: ----------------------------------------------------------------- So, now the CanCompareRegExp returns true only for the following case, right? * regexp === non_object * non_object === regexp * regexp !== non_object * non_object !== regexp * regexp == null * null == regexp * regexp != null * null != regexp * regexp == undefined * undefined == regexp * regexp != undefined * undefined != regexp btw, can you add a testcase that covers comment #0's case?
Attachment #8802132 -
Flags: review?(arai.unmht) → review+
Assignee | ||
Comment 3•8 years ago
|
||
(In reply to Tooru Fujisawa [:arai] from comment #2) > Comment on attachment 8802132 [details] [diff] [review] > Patch > > Review of attachment 8802132 [details] [diff] [review]: > ----------------------------------------------------------------- > > So, now the CanCompareRegExp returns true only for the following case, right? > * regexp === non_object > * non_object === regexp > * regexp !== non_object > * non_object !== regexp > * regexp == null > * null == regexp > * regexp != null > * null != regexp > * regexp == undefined > * undefined == regexp > * regexp != undefined > * undefined != regexp Yes, that is correct.
Pushed by hv1989@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/494b04936295 IonMonkey - Comparing two regexp makes not being cloned observable, r=arai
Comment 5•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/494b04936295
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in
before you can comment on or make changes to this bug.
Description
•