Closed
Bug 445893
Opened 17 years ago
Closed 17 years ago
Use the property cache for JSOP_NAMEINC, etc.
Categories
(Core :: JavaScript Engine, defect, P1)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla1.9.1a1
People
(Reporter: sayrer, Assigned: brendan)
Details
(Keywords: perf)
Attachments
(1 file)
3.01 KB,
patch
|
shaver
:
review+
|
Details | Diff | Splinter Review |
Good for a performance win.
See TM changeset 16321:ead9e74ecc9c.
Flags: wanted1.9.1+
Assignee | ||
Comment 1•17 years ago
|
||
Status: NEW → ASSIGNED
OS: Mac OS X → All
Priority: -- → P1
Hardware: PC → All
Target Milestone: --- → mozilla1.9.1a1
Assignee | ||
Comment 2•17 years ago
|
||
Attachment #330181 -
Flags: review?(shaver)
Comment 3•17 years ago
|
||
Comment on attachment 330181 [details] [diff] [review]
fix
Begone!
Attachment #330181 -
Flags: review?(shaver) → review+
Comment 4•17 years ago
|
||
(By which I mean, "r=shaver".)
Assignee | ||
Comment 5•17 years ago
|
||
Fixed:
changeset: 16048:5c009a853d70
tag: tip
user: Brendan Eich <brendan@mozilla.org>
date: Fri Jul 18 19:16:15 2008 -0700
summary: Property-cache JSOP_NAMEINC etc. direct slot case (445893, r=shaver).
/be
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Backed out:
http://hg.mozilla.org/mozilla-central/index.cgi/rev/337a43c87296
It hit a hang on the Windows tinderboxes (hang could mean crash dialog) and a fatal JS Assert (crash dialog) on my Windows debug build:
It was the (3) == len assert inside the DO_NEXT_OP(JSOP_INCNAME_LENGTH) line that you added -- that assert is only present in the !JS_THREADED_INTERP case, so it wouldn't show up on gcc-based platforms.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
The hang in question was running xpcshell unit tests -- in particular, I think while running xpcom/unit/test_bug374754.js.
The stack of the assert was:
_DbgBreakPoint@0()
JS_Assert(const char * s, const char * file, int ln) Line 59 C++
js_Interpret(JSContext * cx) Line 4013 C++
js_Execute(JSContext * cx, JSObject * chain, JSScript * script, JSStackFrame * down, unsigned int flags, long * result) Line 1550 C++
JS_ExecuteScript(JSContext * cx, JSObject * obj, JSScript * script, long * rval) Line 4932 C++
ProcessFile(JSContext * cx, JSObject * obj, const char * filename, _iobuf * file, int forceTTY) Line 673 C++
Process(JSContext * cx, JSObject * obj, const char * filename, int forceTTY) Line 752 C++
ProcessArgs(JSContext * cx, JSObject * obj, char * * argv, int argc) Line 871 C++
main(int argc, char * * argv, char * * envp) Line 1459 C++
In ProcessFile:
filename 0x00ee8f8d "c:/builds/mozilla-central/mozilla/tools/test-harness/xpcshell-simple/execute_test.js" const char *
In JS_Assert:
+ s 0x101426fc "(3) == len" const char *
+ file 0x101426c4 "c:/builds/mozilla-central/mozilla/js/src/jsinterp.cpp" const char *
I still have it in the debugger if you need more.
Assignee | ||
Comment 9•17 years ago
|
||
Fixed again:
changeset: 16051:a7338e058704
tag: tip
user: Brendan Eich <brendan@mozilla.org>
date: Fri Jul 18 22:53:22 2008 -0700
summary: Property-cache JSOP_NAMEINC etc. direct slot case (445893, r=shaver).
The windows version of DO_NEXT_OP has a false degree of freedom -- its actual param must == len, if not be len. Grrr. Eagerly awaiting cross-platform inline + call threading!
/be
Status: REOPENED → RESOLVED
Closed: 17 years ago → 17 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Flags: in-testsuite-
Flags: in-litmus-
You need to log in
before you can comment on or make changes to this bug.
Description
•