Commit Graph

175 Commits

Author SHA1 Message Date
Andreas Gal
e7f2714ea1 When finalizing, deallocate memory in a separate thread (505612, r=bent,brendan,waldo). 2009-07-27 21:10:12 -07:00
Andreas Gal
69b9d107c2 Remove unnecessary cast to unsigned (introduced by bug 502241, r=graydon). 2009-07-10 17:18:25 -07:00
Andreas Gal
1406080795 Consistently use signed ints for pcdepth (502241, r=brendan). 2009-07-03 17:03:24 -07:00
Jason Orendorff
52fe5a97ba Bug 497618 - Change JSString macros to methods. r=Waldo. 2009-06-10 20:29:44 -05:00
Brendan Eich
77da9d75ed Bug 494235: wrap escaping optimized closures for the debugger API (r=igor/mrbkap). 2009-06-04 18:58:47 -07:00
Igor Bukanov
ffa8b1615c bug 495216 - proper accounting of args and vars for Call object. r=brendan 2009-05-29 14:23:58 +02:00
Graydon Hoare
3471a48ea3 Bug 470964 - Simulate CFG in imacro assembler and decompiler, r=brendan. 2009-04-24 09:07:49 -07:00
Jeff Walden
61aee1746d Bug 473096 - js1_5/Regress/regress-366601.js - Internal Error: script too large. r=brendan 2009-04-10 17:41:13 -07:00
Brendan Eich
962b187fe5 upvar2, aka the big one take 2 (452598, r=mrbkap). 2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb Backed out changeset 972c44aa9d1f (bug 452598). 2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474 upvar2, aka the big one (452598, r=mrbkap). 2009-04-04 10:05:49 +01:00
Igor Bukanov
fdf059f766 bug 486139 - annotating destructuring JSOP_DUP for the decompiler. r=brendan 2009-04-02 16:31:54 +02:00
Blake Kaplan
3b132823ae Bug 486029 - Use C++ style casts in more places. r=brendan 2009-03-30 16:33:54 -07:00
Igor Bukanov
0604ee2935 bug 453492 - hiding JSCodeSpec.(nuses|ndefs) behind inlines to properly deal with variable stack bytecodes. r=brendan 2009-03-30 16:19:50 +02:00
Robert Sayre
d3ae3d827d Merge mozilla-central to tracemonkey. 2009-03-29 10:42:32 -07:00
Andrew Paprocki
24b97dd380 Bug 485576 - Fix a few minor gcc warnings. r=igor 2009-03-27 15:45:48 -07:00
Jim Blandy
875aee5e88 Bug 479258: Include "jsstdint.h" for <stdint.h> type use within SpiderMonkey. r=brendan 2009-03-18 11:38:16 -07:00
Igor Bukanov
4ccdead266 bug 480700 - no more static asserts in headers. r=brendan 2009-03-05 12:12:50 +01:00
Andreas Gal
829c9e498f A little helper function to make life in gdb more bearable (DEBUG only, no bug, r=danderson). 2009-02-28 16:21:18 -08:00
Jason Orendorff
ad88e65f08 Bug 381963 - Missing parens around genexp in |while|. r=Waldo.
--HG--
extra : rebase_source : c87b642082bf9e05c8fb7993fa8a37d3fa63b4ce
2009-02-25 11:36:39 -06:00
Robert Sayre
695b4646c3 Merge tm to mc 2009-02-19 11:48:08 -05:00
Jason Orendorff
c936fbe2d4 Bug 463239 - JS_SetTrap alters code execution. r=brendan. 2009-02-18 18:31:09 -06:00
Jim Blandy
ede7e6d142 Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more.  In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.

Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h.  The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Jason Orendorff
37f2985bdf Bug 476177 - TM: cx->stackPool must not be accessed on trace. r=brendan.
--HG--
extra : rebase_source : 746d61b54aa38cbe18fe31bce4efcbbad4629678
2009-01-30 17:40:05 -06:00
Brendan Eich
60770fa5b5 Bug 454184 - Implement eval caching (r=mrbkap). 2009-01-27 16:40:40 -08:00
Brendan Eich
914f4ef313 Back out due to Mac Tp orange (454184). 2009-01-27 15:52:10 -08:00
Brendan Eich
335791e844 Bug 454184 - Implement eval caching (r=mrbkap). 2009-01-27 13:53:31 -08:00
Jeff Walden
179a1749fb Despite the previous log message, the previous push was r=brendan 2009-01-10 15:25:03 -08:00
Jeff Walden
949fc3d056 Bug 466905 - Fix JSOP_NEWARRAY to be not-buggy and use it when possible. NOT REVIEWED YET 2009-01-10 12:15:08 -08:00
Brian Crowder
36fd05589c Bug 471513 - invalid C++ in jsopcode.cpp, r=brendan 2009-01-06 09:18:36 -08:00
Brendan Eich
67cd92d2ce Bug 471531 - js1_7/decompilation/regress-379925.js | js1_8_1/decompilation/regress-371802.js FAIL (r=jorendorff). 2008-12-31 12:32:35 -08:00
Brendan Eich
bf1a6adcb8 Bug 470374 - Decompiler fixes from bug 469625 (r=jorendorff). 2008-12-29 23:22:23 -08:00
Benjamin Smedberg
252eab1177 Bug 469995 - js_DecompileValueGenerator uses cx->fp and should be made safe, r=crowder+jorendorff 2008-12-17 13:15:08 -05:00
Jason Orendorff
b7fb9bc849 Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Igor Bukanov
427be2e6d3 bug 457521, r=brendan a191=blocking 2008-11-26 10:16:48 -08:00
Blake Kaplan
c1a551e9d9 Bug 465901 - DVG confused by |let|. r=brendan a=sayrer 2008-11-21 12:03:28 -08:00
Vladimir Vukicevic
7a34f9500d Merge mozilla-central into tracemonkey 2008-11-18 13:54:21 -08:00
Brendan Eich
83c020dce3 Bug 465220 - nested imacro abort not cleanly handled (botches assertions) (r=mrbkap, a=beltzner). 2008-11-17 16:56:01 -08:00
Igor Bukanov
a76c374322 bug 464334 - removal of no longer applicable asserts that sp <= static spdepth. r=brendan a1.9.1b2=beltzner 2008-11-17 13:48:57 +01:00
Brendan Eich
40acf84539 Bug 443071 - Assertion failure with "for (;;[]=[])" (r=mrbkap). 2008-11-07 14:01:11 -08:00
Brendan Eich
94ae1a5b36 Bug 462879 - "Assertion failure: UPVAR_FRAME_SKIP(uva->vector[i]) == 1" with nested eval (r=mrbkap). 2008-11-03 13:55:51 -08:00
Boris Zbarsky
d1afdda41f Bug 462184. Make INCLUDE_VERBOSE_OUTPUT actually work, and rename it to JS_JIT_SPEW. r=brendan 2008-10-29 21:56:35 -07:00
Andreas Gal
868e7934a2 Emit JSOP_APPLY for .apply(...) similar to JSOP_EVAL for .eval(...) (462209, r=brendan). 2008-10-29 13:30:41 -07:00
Jason Orendorff
8a27d784a7 Bug 461233 - Incorrect decompilation of ({0: (4, <></>) }). r=brendan. 2008-10-29 11:36:08 -07:00
Graydon Hoare
a9b37c59c0 Bug 461801 - Bind containing function to eval script, so upvars work in decompiler. r=brendan 2008-10-29 11:25:36 -07:00
Brendan Eich
bad1b50498 Re-land patch for bug 458851 now that latent bug it uncovered (not filed; see hg log) is fixed. 2008-10-28 14:04:29 -07:00
Jason Orendorff
37724bb378 Backed out changeset d4fe79372140 (bug 458851) due to persistent orange on TraceMonkey tinderboxes. 2008-10-28 10:49:06 -07:00
Brendan Eich
51f987553a Bug 458851 - TM: for-in loops skip every other value in certain cases (r=gal/mrbkap). 2008-10-27 22:30:52 -07:00
Brendan Eich
fcca844194 Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff). 2008-10-24 12:34:08 -07:00
Jason Orendorff
764431fd80 Bug 461111 - Extra parens in decompilation of "if(a, b)". r=brendan. 2008-10-24 12:52:52 -05:00
Brendan Eich
1772bc4d6f Bug 461307 - Crash [@ QuoteString] with for(/x/[''] in []) (r=mrbkap). 2008-10-23 11:37:07 -07:00
Brendan Eich
e0a0cfe21f Bug 461235 - "Assertion failure: pos == GET_UINT16(pc)" decompiling function with array comprehension (r=mrbkap). 2008-10-22 15:47:52 -07:00
Brendan Eich
5c85747b5c Bug 441479 - for-in loops should use one backward branch (with downward goto on entry; r=mrbkap). 2008-10-22 12:47:51 -07:00
Jason Orendorff
88e0a669e0 Bug 461110 - Extra parens in decompilation of "a += b = 3". r=brendan. 2008-10-22 14:26:49 -05:00
Jason Orendorff
da34f1f2e5 Bug 461108 - Decompiler emits extra parens around assignment in "for(;;)" condition. r=brendan. 2008-10-22 14:06:16 -05:00
Jason Orendorff
e1877796ba Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan. 2008-10-21 13:35:22 -05:00
Brendan Eich
85afb14a56 Bug 460116 - buggy inCond propagation in js_FoldConstants (r=jorendorff). 2008-10-15 14:02:33 -07:00
mrbkap
e057125df7 js1_8/genexps/regress-380237-0[34].js fail, regression from introduction of JSOP_RESUME (458356, r=gal). 2008-10-08 19:46:12 -07:00
Andreas Gal
d38d1d18bb In the decompiler, skip over JSOP_RESUME after JSOP_NEW/CALL/EVAL/SETCALL (457824, r=brendan). 2008-09-30 21:09:14 -07:00
Blake Kaplan
eefec8f1f7 Bug 455775 - The eval frame might not be the top frame, but we still must find it. r=brendan 2008-09-26 15:37:07 -07:00
Taras Glek
dbf23956a4 bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor 2008-09-08 10:51:10 -07:00
Igor Bukanov
27d83904e5 bug 453133 - merging JSOP_DEFUN and JSOP_CLOSURE. r=brendan 2008-09-08 13:58:17 +02:00
Jim Blandy
90bf6a2d1e Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE.  However, that name
is very similar to that of an existing header file, jsconfig.h.  This
patch renames the existing header file, and updates all references to
it.

--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00
Taras Glek
c8962c44c2 bug 441362: Avoid an invisible return. r=igor 2008-09-02 13:32:27 -07: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
fc0f763f3c Fix upvar decompilation for eval-from-fun case (451884, r=mrbkap). 2008-08-27 14:35:41 -07: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
7e793185ea Match JSOP_NULLTHIS up to JSOP_NULL special cases in the decompiler. 2008-08-11 13:03:47 -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
fc2c669949 Misc. cleanup. 2008-08-03 01:34:07 -07: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
Brendan Eich
fff2cda315 Export js_ReconstructStackDepth for use by side-exit code when synthesizing stack frames. 2008-07-28 23:46:27 -07:00
Igor Bukanov
0e9a6fa3da bug 446320 - fixing -Wformat warnings in debug printouts. r=crowder 2008-07-29 16:11:36 +02:00
Igor Bukanov
0f9d60d4c4 Backed out changeset 65836af09dac - compilation errors 2008-07-27 23:05:52 +02:00
Igor Bukanov
e04b341333 bug 446320 - fixing -Wformat warnings in debug printf code. r=crowder 2008-07-27 22:52:10 +02:00
shaver@mozilla.org
8a97552a28 merge (mostly, doesn't build) 2008-07-22 23:58:43 -04:00
Igor Bukanov
fc68712767 bug 441686 - eliminating JSStackFrame.(nvars|vars). r=brendan 2008-07-20 22:13:17 +02: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
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
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
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
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
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
Benjamin Smedberg
3fcc924cd2 Return to building spidermonkey as C++, because we believe we found the cause of the perf regression elsewhere (non-code).
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsinvoke.c => js/src/jsinvoke.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.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
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2008-05-27 16:58:12 -04:00
Benjamin Smedberg
71997df754 Back out revision bd9c9cbf9ec8 (build spidermonkey as C++) for perftesting and profit.
--HG--
rename : js/src/js.cpp => js/src/js.c
rename : js/src/jsapi.cpp => js/src/jsapi.c
rename : js/src/jsarena.cpp => js/src/jsarena.c
rename : js/src/jsarray.cpp => js/src/jsarray.c
rename : js/src/jsatom.cpp => js/src/jsatom.c
rename : js/src/jsbool.cpp => js/src/jsbool.c
rename : js/src/jscntxt.cpp => js/src/jscntxt.c
rename : js/src/jscpucfg.cpp => js/src/jscpucfg.c
rename : js/src/jsdate.cpp => js/src/jsdate.c
rename : js/src/jsdbgapi.cpp => js/src/jsdbgapi.c
rename : js/src/jsdhash.cpp => js/src/jsdhash.c
rename : js/src/jsdtoa.cpp => js/src/jsdtoa.c
rename : js/src/jsemit.cpp => js/src/jsemit.c
rename : js/src/jsexn.cpp => js/src/jsexn.c
rename : js/src/jsfile.cpp => js/src/jsfile.c
rename : js/src/jsfun.cpp => js/src/jsfun.c
rename : js/src/jsgc.cpp => js/src/jsgc.c
rename : js/src/jshash.cpp => js/src/jshash.c
rename : js/src/jsinterp.cpp => js/src/jsinterp.c
rename : js/src/jsiter.cpp => js/src/jsiter.c
rename : js/src/jskwgen.cpp => js/src/jskwgen.c
rename : js/src/jslock.cpp => js/src/jslock.c
rename : js/src/jslog2.cpp => js/src/jslog2.c
rename : js/src/jslong.cpp => js/src/jslong.c
rename : js/src/jsmath.cpp => js/src/jsmath.c
rename : js/src/jsnum.cpp => js/src/jsnum.c
rename : js/src/jsobj.cpp => js/src/jsobj.c
rename : js/src/jsopcode.cpp => js/src/jsopcode.c
rename : js/src/jsparse.cpp => js/src/jsparse.c
rename : js/src/jsprf.cpp => js/src/jsprf.c
rename : js/src/jsregexp.cpp => js/src/jsregexp.c
rename : js/src/jsscan.cpp => js/src/jsscan.c
rename : js/src/jsscope.cpp => js/src/jsscope.c
rename : js/src/jsscript.cpp => js/src/jsscript.c
rename : js/src/jsstr.cpp => js/src/jsstr.c
rename : js/src/jsutil.cpp => js/src/jsutil.c
rename : js/src/jsxdrapi.cpp => js/src/jsxdrapi.c
rename : js/src/jsxml.cpp => js/src/jsxml.c
rename : js/src/prmjtime.cpp => js/src/prmjtime.c
2008-05-27 12:19:17 -04:00