Andreas Gal
|
8dee65f176
|
Merged with Brendan's changes.
|
2008-06-10 22:30:46 -07:00 |
|
Andreas Gal
|
c79c0bfeef
|
Added code to switch to the tracer and back. Incomplete and for review only.
|
2008-06-10 22:20:05 -07:00 |
|
Brendan Eich
|
f8e68441c2
|
No need for eval call.
|
2008-06-10 21:46:03 -07:00 |
|
Brendan Eich
|
45358518de
|
Minimize JSInterpreterState, fix warning.
|
2008-06-10 21:40:47 -07:00 |
|
Brendan Eich
|
57eff0cc24
|
Style nits, plus no need for rt in JSInterpreterState.
|
2008-06-10 19:40:09 -07:00 |
|
Andreas Gal
|
b5238a9929
|
Create a side-entry path into the interpreter that bypasses the initialization code and allows switching back and forth between two interpreters (i.e. tracing and non-tracing).
|
2008-06-10 17:45:38 -07:00 |
|
Andreas Gal
|
17d0d41459
|
Added branch monitoring using a single unified branch frequency counter.
|
2008-06-10 16:49:05 -07:00 |
|
Andreas Gal
|
a1bf0819b2
|
Removed JSOP_HEADER code. Its too costly. This patch restore essentially the same performance as unmodified SM.
|
2008-06-10 14:44:51 -07:00 |
|
Andreas Gal
|
aa4de72f2b
|
Disable JSOP_HEADER counting.
|
2008-06-10 14:17:05 -07:00 |
|
Andreas Gal
|
5f7b163827
|
Use higher optimization settings for jsinterp.cpp to ensure inlining.
|
2008-06-10 13:59:43 -07:00 |
|
Andreas Gal
|
b54446d182
|
Fixed typo that caused sunspider to fail.
|
2008-06-09 18:30:08 -07:00 |
|
Andreas Gal
|
82d514b492
|
Merge.
|
2008-06-09 14:48:23 -07:00 |
|
Andreas Gal
|
0077c6a422
|
Backed out value_to_iter inline method extraction.
|
2008-06-09 14:47:14 -07:00 |
|
Andreas Gal
|
76e4f25384
|
Merge.
|
2008-06-09 14:46:26 -07:00 |
|
Andreas Gal
|
70e23d6dc1
|
Backed out do_dorinloop inline method extraction.
|
2008-06-09 14:45:32 -07:00 |
|
Brendan Eich
|
a6b3eeb630
|
Merge.
|
2008-06-08 17:05:46 -07:00 |
|
Brendan Eich
|
ff8942e9cf
|
Fix firefox, etc., (top-level mozilla) builds.
|
2008-06-06 15:12:48 -07:00 |
|
Andreas Gal
|
fd852a83dd
|
Transform do_dorinloop goto/fall through hack into a proper inline method.
|
2008-06-06 15:11:08 -07:00 |
|
Andreas Gal
|
8d20524c9b
|
Convert value_to_iter goto/fall through hack into a proper inlined method.
|
2008-06-06 13:32:04 -07:00 |
|
Brendan Eich
|
04b1ac5592
|
Merge.
|
2008-06-04 00:09:57 -07:00 |
|
Brendan Eich
|
894dd03e2a
|
First stage of loop table work; bitmap free space management and GC hook-up still to come.
|
2008-06-03 23:52:28 -07:00 |
|
Brendan Eich
|
2e6db5a253
|
Fix decompiler (hack, really) to cope with misplaced JSOP_HEADER in update part of for(;;) loop.
|
2008-06-03 23:50:22 -07:00 |
|
Andreas Gal
|
9684e2070f
|
Introduced a JavaScript recording script that is loaded dynamically.
|
2008-06-03 21:01:23 -07:00 |
|
Andreas Gal
|
be39054e45
|
Store the recorder script in JSTraceMonitor and make sure its traced by the GC. Also clean up the tracing of JSTraceMonitor.
|
2008-06-03 17:35:30 -07:00 |
|
Andreas Gal
|
02b2fde780
|
Backed out previous attempt to find a place to stash the recorder script.
|
2008-06-03 17:27:31 -07:00 |
|
Andreas Gal
|
bfecd01b75
|
Backed out changeset 3029f4d57bd2
|
2008-06-03 17:24:02 -07:00 |
|
Andreas Gal
|
3094b79c6b
|
Switch to a uniform style for jstracer.cpp.
|
2008-06-03 17:15:58 -07:00 |
|
Andreas Gal
|
c93d0c8e08
|
Add location in the context where we can hold the recorder script and make sure the GC traces it.
|
2008-06-03 17:14:54 -07:00 |
|
Andreas Gal
|
8b6c4d02c6
|
Remove InitTacer. Pointless for JSRuntime.
|
2008-06-03 17:04:42 -07:00 |
|
Brendan Eich
|
a0363085ef
|
Merge, simplify names, and police style.
|
2008-06-03 16:21:31 -07:00 |
|
Brendan Eich
|
9c2b039d6f
|
JSOP_HEADER takes a byte index of loop header counting from script->loopBase, and related changes.
|
2008-06-03 14:48:47 -07:00 |
|
Brendan Eich
|
44ed0935e5
|
Fix ReconstructPCStack oplen code, extend js_OpLength to avoid cs recalculation where possible.
|
2008-06-03 13:51:30 -07:00 |
|
Andreas Gal
|
d78d723aeb
|
Compiler fixes for CAS patch.
|
2008-06-03 13:29:10 -07:00 |
|
Andreas Gal
|
3bc4b753d4
|
Merge.
|
2008-06-03 13:22:04 -07:00 |
|
Brendan Eich
|
b2ee0f4849
|
Fix so it compiles, also avoid else after return.
|
2008-06-03 12:37:20 -07:00 |
|
Andreas Gal
|
70cdf27b42
|
Make js_CompareAndSwap visible outside jslock.cpp.
|
2008-06-03 10:06:28 -07:00 |
|
Andreas Gal
|
53060c32ce
|
Move all inlines that do not represent primitives out of jsinterpinlines.h since we don't have to overwrite them in jstracerinlines.h. They live in jsinterp.cpp now. Added missing error handling for prim_ddiv and prim_dmod. Make sure prim_ddiv and prim_dmod do not call other primitives. Fixed bug in dmod (-1 should be n, but since all invocations had n=-1 this was a non-issue).
|
2008-06-02 23:26:17 -07:00 |
|
Brendan Eich
|
946fa41d8c
|
Fiddle loop table slot interface and impl in hope of freeing slots over time.
|
2008-06-02 18:06:33 -07:00 |
|
Brendan Eich
|
21c493d829
|
Use correct idempotent include guard macro name.
|
2008-06-02 18:05:18 -07:00 |
|
Brendan Eich
|
3db9424289
|
Merge and undo js_AllocateLoopTableSlot reparam.
|
2008-06-02 17:28:39 -07:00 |
|
Brendan Eich
|
01514c4b16
|
No JS_TRACER ifdefs, keep line len < 80, reparameterize jstracer.cpp functions, js_OpLength helper.
|
2008-06-02 17:19:41 -07:00 |
|
Brendan Eich
|
ea827846a5
|
Avoid overlong lines per modeline comments.
|
2008-06-02 17:16:14 -07:00 |
|
Andreas Gal
|
d528552bca
|
Assign fresh loop table slots for all JSOP_HEADER opcodes in a script as it is thawed since the slots we stored there are likely stale by now.
|
2008-05-31 18:12:39 -07:00 |
|
Brendan Eich
|
5b116ae998
|
Merge, style nits, no locking for tracing.
|
2008-05-31 15:29:54 -07:00 |
|
Brendan Eich
|
ef8a767739
|
Left brace style.
|
2008-05-31 10:17:40 -07:00 |
|
Andreas Gal
|
e66383e26e
|
Fixed a bug that triggered the tracer at TRACE_THRESHOLD/2 already.
|
2008-05-31 09:53:16 -07:00 |
|
Andreas Gal
|
e461a72736
|
The table is now per-thread in a multi-threaded environment, and per-runtime otherwise. During code generation we merely allocate a loop table slot to each loop. Each thread will enlarge the table as needed in JSOP_HEADER.
|
2008-05-30 18:58:43 -07:00 |
|
Andreas Gal
|
de3107d2ee
|
Add a per-runtime loop attribute table that associates a jsval attribute with every loop in the code. The jsval is used initially as a counter until a certain threshold is reached, at which point the loop is traced and compiled and the resulting native code object is stored in the jsval to be executed for future encounters of the loop.
|
2008-05-30 10:11:56 -07:00 |
|
Andreas Gal
|
a6ded872bf
|
Steer macro naming in jsinterinlines.h using a macro. This allows us to prefix all primitives with some prefix (i.e. interp_) when we compile the tracer and replace them with new primitives that invoke the interpreter version first, and then do some tracer specific action.
|
2008-05-29 17:14:42 -07:00 |
|
Brendan Eich
|
7cdb540c44
|
Fix goof in switching from word to jsval counters.
|
2008-05-28 23:12:45 -07:00 |
|
Brendan Eich
|
ed4274e179
|
Instrument loop headers with jsvals above fp->vars and below fp->spbase.
|
2008-05-28 19:07:32 -07:00 |
|
Brendan Eich
|
8bfb8bfef7
|
Split trace-supporting inlines, add ifdefs/macros for deriving js_TracingInterpret in jstracer.cpp.
|
2008-05-28 19:07:25 -07:00 |
|
Brendan Eich
|
968021cff9
|
Style (and substance for vim users: left brace opening in column 1 enables [[ navigation).
|
2008-05-28 19:07:16 -07:00 |
|
Andreas Gal
|
f4d6e71bf6
|
Make relational operations (<,<=,>,>=) traceable.
|
2008-05-27 10:45:58 -07:00 |
|
Andreas Gal
|
8a5d86fa50
|
Mark getting and setting arguments and local variables as safe for tracing.
|
2008-05-26 23:40:52 -07:00 |
|
Andreas Gal
|
e0a5de51b2
|
Make branch instructions traceable using a new primitive guard_boolean_is_true.
|
2008-05-26 23:33:23 -07:00 |
|
Andreas Gal
|
32908d0e2f
|
Enable tracing for selected opcodes that do not have any remaining tracing hazards.
|
2008-05-26 20:04:58 -07:00 |
|
Andreas Gal
|
33ec9a35fb
|
Opcodes that can be traced through can be declared with TRACE_CASE(op). Currently all opcodes are declared as BEGIN_CASE(op), which automatically aborts trace recording. In addition, error handlers (defined with DEFINE_HANDLER) also abort trace recording. At every backwards branch trigger monitor_branch(), which will monitor for new trace tree anchors.
|
2008-05-26 18:55:16 -07:00 |
|
Andreas Gal
|
288e988b40
|
Introduce primitives for common binary operations.
|
2008-05-26 17:29:28 -07:00 |
|
Andreas Gal
|
6d10603538
|
Convert macro code in jsinterp.cpp into inline functions and introduce trace primitives (prim_*, guard_*, call_*).
|
2008-05-26 15:27:13 -07:00 |
|
Brendan Eich
|
b065dd2fce
|
From Igor's patch for bug 433382.
|
2008-05-24 11:39:18 -07:00 |
|
Brendan Eich
|
c611e90657
|
Fix bad merge.
|
2008-05-24 10:17:15 -07:00 |
|
Brendan Eich
|
5e03c06ce3
|
Igor's patch for bug 433382, r=me.
|
2008-05-23 23:44:08 -07:00 |
|
Brendan Eich
|
2595b54a6b
|
Fix POP_STACK to take a macro out param.
|
2008-05-23 22:18:36 -07:00 |
|
Brendan Eich
|
602bcd5f50
|
First round of macro cleanups to enable tracing.
|
2008-05-23 19:24:10 -07:00 |
|
Brendan Eich
|
2f95757906
|
Igor's fix for bug 432881, r=me.
|
2008-05-23 19:14:05 -07:00 |
|
Brendan Eich
|
c0c9201c0a
|
Fix for bug 433672, r=igor.
|
2008-05-23 19:08:44 -07:00 |
|
bcrowder@mozilla.com
|
ccdd027d08
|
Bug 433964 - dtrace build fixes for C++ linkage, r=jorendorff
|
2008-05-19 12:59:09 -07:00 |
|
jorendorff@mozilla.com
|
f2cbe9af26
|
Merge 8 changesets from cvs-trunk-mirror to mozilla-central. Use (hg log -r b60aee4a61a6:e70e05d8eda2) to see them.
|
2008-05-16 11:55:05 -05:00 |
|
bclary@bclary.com
|
b017a73ad2
|
JavaScript Tests - update test and remove from exclusion list, bug 433698, r=jorendorff
|
2008-05-14 16:18:47 -07:00 |
|
jorendorff@mozilla.com
|
9b5032bfde
|
Merge from cvs-trunk-mirror to mozilla-central.
|
2008-05-13 09:57:11 -05:00 |
|
bclary@bclary.com
|
abd3a90982
|
JavaScript Tests - add unary - tests for bug 432881
|
2008-05-09 20:33:48 -07:00 |
|
reed@reedloden.com
|
82c33e4d43
|
Bug 430955 - "jsfun.h uses JSArenaPool without needed typename" [p=mh+mozilla@glandium.org (Mike Hommey) r=brendan a1.9=damons]
|
2008-05-09 00:40:10 -07:00 |
|
jorendorff@mozilla.com
|
9b2db511f4
|
Merge from cvs-trunk-mirror to mozilla-central.
--HG--
rename : js/src/jsobj.c => js/src/jsobj.cpp
|
2008-05-07 17:37:49 -07:00 |
|
reed@reedloden.com
|
888518dda2
|
Bug 410606 - "AIX linker error for trunk build xpconnect module : ERROR: Undefined symbol: .JSAutoTempValueRooter::operator delete(void*,unsigned long)" [p=shailen.n.jain@gmail.com (Shailen) r+sr=mrbkap a1.9=beltzner]
|
2008-05-07 03:26:52 -07:00 |
|
crowder@fiverocks.com
|
db98c2faeb
|
Bug 432275: Regression - Java applets crashing browser [@ obj_eval], patch by mrbkap, r=crowder, a=beltzner
|
2008-05-06 15:01:32 -07:00 |
|
crowder@fiverocks.com
|
84d826ee05
|
Bug 432275 - Regression - Java applets crashing browser [@ obj_eval], r=igor, a=beltzner
|
2008-05-06 14:59:49 -07:00 |
|
bent.mozilla@gmail.com
|
eb31e16632
|
Bug 429442 - "crashes [@ nsJSIID::HasInstance][@ XPCNativeSet::FindInterfaceWithIID]". r+sr=jst, a=beltzner.
|
2008-05-06 14:37:50 -07:00 |
|
Benjamin Smedberg
|
4393fe5a30
|
Merge cvs-trunk-mirror to mozilla-central. Conflict resolution:
* client.mk: new NSS tag merge to client.py
--HG--
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
|
2008-05-05 13:39:59 -04:00 |
|
crowder@fiverocks.com
|
21e08b8a71
|
Bug 429864: assertion at startup with venkman, patch by mrbkap, r=brendan, a=beltzner
|
2008-05-03 21:31:01 -07:00 |
|
crowder@fiverocks.com
|
e04b777729
|
Bug 431465 -- (relanding) Crash [@ DecompileExpression] with trap, r=brendan, shaver, igor; a=mtschrep
|
2008-05-03 21:20:23 -07:00 |
|
Benjamin Smedberg
|
d23620a37a
|
Merge cvs-trunk-mirror to mozilla-central. One conflict resolution: updated NSPR tag from client.mk into client.py
--HG--
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
|
2008-05-02 14:08:43 -04:00 |
|
bclary@bclary.com
|
b8c31e4e72
|
Sisyphus|JavaScript Tests - runtests.sh -I include conflicts with msvc include on Windows
|
2008-05-01 16:38:29 -07:00 |
|
gavin@gavinsharp.com
|
e76cb415a6
|
Back out patch for bug 431465 due to unit test failures
|
2008-05-01 16:06:43 -07:00 |
|
crowder@fiverocks.com
|
80a811f0de
|
Addressing white-space nits.
|
2008-05-01 15:16:38 -07:00 |
|
igor@mir2.org
|
5cab25689b
|
[Bug 427798] faster js_PutBlockObject(), r=brendan a1.9=shaver
|
2008-05-01 14:59:52 -07:00 |
|
crowder@fiverocks.com
|
aa2f89f028
|
Bug 431465 - Crash [@DecompileExpression] with trap, r/a=shaver
|
2008-05-01 14:36:19 -07:00 |
|
bclary@bclary.com
|
239dd9ab80
|
JavaScript Tests - update public failures, bug 404367
|
2008-05-01 08:05:24 -07:00 |
|
Benjamin Smedberg
|
44143a17c2
|
Merge from cvs-trunk-mirror to mozilla-central. No conflict resolution necessary.
--HG--
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
|
2008-05-01 09:50:06 -04:00 |
|
bclary@bclary.com
|
50b65436c4
|
JavaScript Tests - test for section ecma 262-3 15.4.5.1
|
2008-04-30 18:22:00 -07:00 |
|
bclary@bclary.com
|
daf599b79c
|
JavaScript Tests - regression test for bug 414531
|
2008-04-30 18:17:05 -07:00 |
|
Vladimir Vukicevic
|
ce3a5f0097
|
Merge cvs-trunk-mirror to mozilla-central. No conflicts.
--HG--
rename : js/src/jsmath.c => js/src/jsmath.cpp
|
2008-04-30 15:34:49 -07:00 |
|
brendan@mozilla.org
|
b90454bf32
|
Fix JSOP_GETTHISPROP decompile-value-generator bug (431248, r=igor, a=dsicore).
|
2008-04-30 11:33:51 -07:00 |
|
gavin@gavinsharp.com
|
64ef898187
|
Bug 414531: The return value of some of math method of javascript is not IEEE standard on solaris, patch by Leon Sha <leon.sha@gmail.com>, r=brendan, a=damon
|
2008-04-30 10:15:41 -07:00 |
|
Benjamin Smedberg
|
5337262e90
|
Merge cvs-trunk-mirror to mozilla-central. No manual conflict resolution was necessary.
--HG--
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
|
2008-04-30 12:35:19 -04:00 |
|
igor@mir2.org
|
5c81e09b95
|
[Bug 431489] r=brendan a1.9=shaver
|
2008-04-30 06:30:38 -07:00 |
|
bclary@bclary.com
|
798117722c
|
JavaScript Tests - regression test for bug 431428, by Jesse Ruderman
|
2008-04-30 05:41:59 -07:00 |
|
brendan@mozilla.org
|
3d10ff4835
|
Clear GetSrcNote cache in js_UntrapScriptCode (431428, r/a=shaver).
|
2008-04-29 19:18:19 -07:00 |
|
igor@mir2.org
|
34643896ed
|
[Bug 429281] r=brendan a1.9=dsicore
|
2008-04-29 14:24:01 -07:00 |
|
igor@mir2.org
|
e34384934d
|
[Bug 429739] proper handling of __noSuchMethod__ when it is invoked as constructor. r=brendan a1.9=dsicore
|
2008-04-29 14:17:11 -07:00 |
|