Commit Graph

102 Commits

Author SHA1 Message Date
Igor Bukanov
27d83904e5 bug 453133 - merging JSOP_DEFUN and JSOP_CLOSURE. r=brendan 2008-09-08 13:58:17 +02:00
Igor Bukanov
9022efe160 bug 449494 - uniform handling of bytecodes with variable stack uses. r=mrbkap,brendan 2008-09-02 08:25:15 +02:00
Brendan Eich
9cd8e5a539 Upvar, v0.1 (limited to looking up from eval in a function, to the function's args and vars). 2008-08-21 03:47:33 -07:00
Brendan Eich
64fc3b0367 - Fix shapeless callee guarding to guard on function object value.
- Add JSOP_NULLTHIS to help the tracer guard shapeless callees (see trace-tests.js)
- Culled bogus record_JSOP_CALLGVAR left-over forwarding to record_JSOP_GETGVAR.
- Better shapeless callee tests.
2008-08-10 22:36:48 -07:00
Brendan Eich
eaf4254c15 Merge from mozilla-central. 2008-08-08 18:58:04 -07:00
Graydon Hoare
aaf41f8ee5 Bug 447713, remove the import/export functionality from spidermonkey, r=brendan 2008-08-06 17:34:58 -07:00
Igor Bukanov
46b1a8edf2 bug 447762 - merging var and local JS bytecodes. r=brendan 2008-08-06 16:13:22 +02:00
Brendan Eich
fe3a6127c5 - Export JSSLOT_ITER_* from jsiter.cpp to jsiter.h, for jstracer.cpp to use.
- Fix OBJ_GET_SLOT to be STOBJ_GET_SLOT in jsiter.cpp, no thread safety here (bug on file).
- Move JSNativeEnumerator from jsobj.cpp to jsobj.h for jstracer.cpp as well.
- Rename JOF_2BYTE JOF_UINT8 for consistency, and actually decompile it.
- Trace JSOP_FORVAR (can't do anything in JSOP_ITER, it comes before the loop).
- Shortened some guardMyLongSummerVacationWithinBounds names ;-).
- Removed/refactored to avoid dslots_ins obligation on all callers.
2008-07-30 16:32:33 -07:00
Andreas Gal
62d0c7bbfb Switch back to mozilla-central jsinter.cpp. Lets try a different approach to attach the tracer to the interpreter. 2008-07-03 22:08:13 -07:00
Andreas Gal
ea9279b6d0 Sync with mozilla-central. 2008-07-03 21:45:09 -07:00
Brendan Eich
d0966c0fc0 Clean up for-in ops and naming nit (443039, r=igor). 2008-07-01 18:59:18 -07:00
Brendan Eich
9a38bf0cdc Eliminate useless genexp for(;;) conditions (442342, r=jorendorff). 2008-07-01 13:05:11 -07:00
shaver@mozilla.org
d571eaac32 Merge with mozilla-central as of c5dc9d84d476, and restore obj-to-boolean fixes
from 2b107c27dedf (accidentally backed out during an earlier merge).  22 test
suite failures for -L lc2 lc3 spidermonkey-n slow-n, probably needs some guard
work in TRY_BRANCH_AFTER_COND.
2008-06-29 10:01:59 -04:00
Brendan Eich
97bce759b2 Fix for(;;) loops to use one branch per iter (after initial iter; 441477, r=jorendorff). 2008-06-26 17:49:01 -07:00
Igor Bukanov
c6b43c7494 [Bug 433382] More efficient interpreter switch when computed goto is not available. r=brendan 2008-06-20 11:55:49 +02:00
Igor Bukanov
fed7ad6a4a Backed out changeset 97977f224aff due to build breakage 2008-06-20 11:46:36 +02:00
Igor Bukanov
ac0a058f20 [Bug 433382] More efficient interpreter switch when computed goto
is not available. r=brendan
2008-06-20 10:06:45 +02:00
Igor Bukanov
26b618a50f Backed out changeset 21527193c49b: the patch has used CSRCS, not CPPSRCS. 2008-06-20 09:45:29 +02:00
Igor Bukanov
feb0f05335 [Bug 433382] More efficient interpreter switch when computed goto is not available. r=brendan 2008-06-20 09:36:56 +02:00
Brendan Eich
02f5b1cb7b Fix old assignment expression rval mutation via getter design, optimize setprop;pop and similar cliches (312354, r=igor). 2008-06-19 12:51:57 -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
Brendan Eich
f6f44f8c9a Fix 260106, r=shaver. 2008-06-04 17:00:46 -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
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
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
5e03c06ce3 Igor's patch for bug 433382, r=me. 2008-05-23 23:44:08 -07:00
brendan@mozilla.org
aa6eca81f9 Fix '(void 0) is undefined' decompilation regression (420919, r=igor, a=dsicore). 2008-04-24 16:48:32 -07:00
igor@mir2.org
95ffa3c835 [Bug 424693] using jsop_lineno to speedup pc->lineno mapping needed for eval. r=shaver a1.9b5=beltzner 2008-03-24 10:00:01 -07:00
igor@mir2.org
28f24f8321 bug=418641 r=brendan a1.9=dsicore Avoiding code bloat on slow paths in the interpreter. 2008-03-05 12:26:06 -08:00
igor@mir2.org
03f433c720 bug=420399 r=brendan a1.9=blocking1.9 eliminating the pc stack in the interpreter 2008-03-04 15:30:58 -08:00
brendan@mozilla.org
bfaa992a1b Backing out to fix orange on Windows fx/tb/sm... 2008-02-26 22:57:28 -08:00
brendan@mozilla.org
42caf6cd7e Landing shaver's patch for 419743, r/a=me. 2008-02-26 21:54:02 -08:00
brendan@mozilla.org
da4792dd55 Optimize object initialisers via property cache; remove JSOP_SET{NAME,PROP} cache hazards (129496, r=shaver). 2008-02-26 17:59:36 -08:00
brendan@mozilla.org
fc623a24eb Optimize ComputeGlobalThis (395993, r=mrbkap). 2008-02-15 18:46:46 -08:00
igor@mir2.org
ac22737548 Bug 309894: non-recursive XML-filtering implementation. r,a1.9=brendan 2008-02-13 06:32:31 -08:00
brendan@mozilla.org
23c36b84f4 Return of the property cache (365851, r=shaver). 2008-02-07 15:18:45 -08:00
jwalden@mit.edu
d3b11a2cbf Bug 376957 - Prevent data leaks from cross-site JSON loads (JavaScript literals), by making the global name bindings ReadOnly/DontDelete and making [] and {} use the global bindings. Still more that can be done here, but this covers a lot of the fix. r+a=brendan 2007-12-03 19:05:24 -08:00
igor@mir2.org
fe1659e34d Bug 394673: avoid recursion with long chains of "||" or "&&" in JS code. r=brendan 2007-09-19 14:53:17 -07:00
igor@mir2.org
1b67c3135b Bug 387286: patch from Rich Dougherty to name constitently JOF_* flags. r=me 2007-08-08 06:35:05 -07:00
brendan@mozilla.org
ba3ad2ce7a Fast (frame-less) native call optimizations (385393, r=igor). 2007-08-01 21:33:52 -07:00
brendan@mozilla.org
18e7692117 Backing out, see bug 389122 and orange or red tinderboxes. 2007-07-21 16:21:20 -07:00
brendan@mozilla.org
5f038f69ae Fast natives and related optimizations (385393, r=igor). 2007-07-21 14:39:42 -07:00
igor@mir2.org
a4c622bced Bug 386885: JSAtom.number is removed in favour of using atoms itself for hashing. r=brendan 2007-07-11 02:25:45 -07:00
igor@mir2.org
ab560f0cb7 Bug 385729: objects and regexps are stored in separated tables in JSScript. r=brendan,mrbkap 2007-07-08 02:03:34 -07:00
igor@mir2.org
9137bfaf4e Bug 349326: for-in loop now always closes iterator objects. r=brendan 2007-07-02 05:13:23 -07:00
igor@mir2.org
e606f64813 Bug 383188: using code spec flag to declare extra slot used for post ++/--. r=brndan 2007-06-04 20:07:38 -07:00
brendan@mozilla.org
e7de6b332a Implement ES4/JS2 expression closures (381113, r=mrbkap). 2007-05-29 18:49:42 -07:00
igor@mir2.org
e8eeb4f10c Bug 379758: SETSP is removed 2007-05-24 00:51:46 -07:00
brendan@mozilla.org
31ef926445 Support generator expressions for JS1.8 (380237, r=mrbkap). 2007-05-17 18:41:17 -07:00
brendan@mozilla.org
a5b846723e Stop overloading JSOP_SETSP for both exception handling and group assignment bulk popping (375695, r=igor). 2007-05-06 23:40:10 -07:00
igor@mir2.org
f8aa56f76d Bug 379855: js_CodeSpec.name/token are moved to separated arrays to shrink the code. r=brendan 2007-05-06 03:50:07 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00