Closed
Bug 1033873
Opened 11 years ago
Closed 11 years ago
Differential Testing: Different output message involving __proto__
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
FIXED
mozilla34
People
(Reporter: gkw, Assigned: efaust)
References
Details
(Keywords: regression, testcase)
Attachments
(2 files)
|
4.18 KB,
patch
|
jandem
:
review+
|
Details | Diff | Splinter Review |
|
4.45 KB,
patch
|
efaust
:
review+
|
Details | Diff | Splinter Review |
function f() {
return __proto__
}
f()
f()
print(f())
$ ./js-dbgDisabled-opt-64-prof-dm-ts-darwin-5d9af625f42e --fuzzing-safe --ion-offthread-compile=off testcase.js
[object Object]
$ ./js-dbgDisabled-opt-64-prof-dm-ts-darwin-5d9af625f42e --fuzzing-safe --ion-offthread-compile=off --ion-eager testcase.js
null
(Tested this on 64-bit Mac js opt threadsafe deterministic shell off m-c rev 5d9af625f42e)
My configure flags are:
CC="clang -Qunused-arguments" CXX="clang++ -Qunused-arguments" AR=ar sh /Users/skywalker/trees/mozilla-central/js/src/configure --target=x86_64-apple-darwin12.5.0 --disable-debug --enable-optimize --enable-profiling --enable-gczeal --enable-debug-symbols --disable-tests --enable-more-deterministic --with-ccache --enable-threadsafe <other NSPR options>
autoBisect shows this is probably related to the following changeset:
The first bad revision is:
changeset: https://hg.mozilla.org/mozilla-central/rev/157947d5fe31
user: Eric Faust
date: Wed Jun 18 13:00:17 2014 -0700
summary: Bug 1022736 - Allow cacheing of GlobalObject getters on non-global scopechains. (r=jandem)
Brian, is bug 1022736 a likely regressor?
Flags: needinfo?(efaustbmo)
| Assignee | ||
Comment 1•11 years ago
|
||
Oh yeah. This one's definitely on me. Taking.
Assignee: nobody → efaustbmo
Flags: needinfo?(efaustbmo)
| Assignee | ||
Comment 2•11 years ago
|
||
Clean up some scratch register aliasing issues.
Attachment #8449962 -
Flags: review?(jdemooij)
Comment 3•11 years ago
|
||
Comment on attachment 8449962 [details] [diff] [review]
Fix
Review of attachment 8449962 [details] [diff] [review]:
-----------------------------------------------------------------
Please also add a testcase that fails without this patch. r=me with that.
::: js/src/jit/IonCaches.cpp
@@ +1004,5 @@
> ImmGCPtr(holder->lastProperty()),
> failures);
>
> + if (restoreObjReg)
> + masm.pop(object);
NameIC::attachCallGetter has:
Register scratchReg = outputReg().valueReg().scratchReg();
And passes that as the object register. So we were always passing the "holder" instead of "object" to EmitGetterCall right? Good catch, fuzzing FTW.
Attachment #8449962 -
Flags: review?(jdemooij) → review+
| Assignee | ||
Comment 4•11 years ago
|
||
Nits addressed. Carrying r+.
Attachment #8460764 -
Flags: review+
Flags: needinfo?(cbook)
Comment 5•11 years ago
|
||
Comment 6•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
Updated•11 years ago
|
Flags: needinfo?(cbook)
Updated•11 years ago
|
QA Whiteboard: [qa-]
Comment 7•11 years ago
|
||
This was backported to Fx33 to fix bug 1067153.
https://hg.mozilla.org/releases/mozilla-beta/rev/2dbe6d8a5c30
status-firefox33:
--- → fixed
status-firefox34:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•