Commit Graph

11508 Commits

Author SHA1 Message Date
Igor Bukanov
d422c4995e [Bug 446229] Fixing GCC conversion warnings within SpiderMonkey. r=brendan 2008-07-20 14:53:21 +02:00
shaver@mozilla.org
f3857ddac7 discard trace on global shape mismatch 2008-07-19 22:32:45 -07:00
Brendan Eich
2e642f1990 Breathe, vertical-spacing, breathe! 2008-07-19 15:42:31 -07:00
Igor Bukanov
9b3583218a [Bug 444846] Fixing GCC warning on x86-64 about redefined HAVE_VA_LIST_AS_ARRAY. r=crowder 2008-07-19 19:51:05 +02:00
Igor Bukanov
538622bcaa merge 2008-07-19 19:31:48 +02:00
shaver@mozilla.org
3a9c816fe0 Avoid tracking object properties, make incElem work. 2008-07-19 10:24:10 -07:00
shaver@mozilla.org
3e6f34993a fix no-tracer build 2008-07-21 06:59:38 -04:00
shaver@mozilla.org
cfafd2fe01 Implement DEFLOCALFUN for the fully-lightweight case.
Reset atoms base register on function entry and exit.
2008-07-19 06:29:56 -07:00
Brendan Eich
96bdefd1f1 Improve js_IsLoopExit (unannotated JSOP_GOTO is still ambiguous). 2008-07-19 10:52:24 -07:00
Brendan Eich
e903444286 Fix incProp to box and store (incElem still todo). 2008-07-19 10:24:28 -07:00
Andreas Gal
3fd3d3a835 Merge. hg sucks. 2008-07-19 00:40:54 -07:00
Andreas Gal
00fd64b6e5 Don't demote fmul since it overflows in math-partial. We might try to demote it and then promote back if this happens (depends how aggressively we want so speculate). Speedup 6.6 for math-partial (since its sin/cos/pow heavy.) 2008-07-19 00:27:45 -07:00
Brendan Eich
90f08bf3bf First stab at incops, plus unbox_jsval tag-masking guard fixes, plus misc. cleanup. 2008-07-19 00:15:22 -07:00
Brendan Eich
d594b18211 Property-cache JSOP_NAMEINC etc. direct slot case (445893, r=shaver). 2008-07-18 22:53:22 -07:00
L. David Baron
4de7d5bbe6 Backed out changeset 5c009a853d70 for hitting a fatal JS_Assert during xpcshell unit tests (xpcom/unit/test_bug374754.js) on the DO_NEXT_OP(JSOP_INCNAME_LENGTH) line on !JS_THREADED_INTERP platforms (Windows). 2008-07-18 21:53:07 -07:00
Andreas Gal
cac6830023 Merge. 2008-07-18 19:16:16 -07:00
Brendan Eich
a98fde76a6 Property-cache JSOP_NAMEINC etc. direct slot case (445893, r=shaver). 2008-07-18 19:16:15 -07:00
Andreas Gal
fdce9ce73c Abort trace is STOP is leaving the recording context. 2008-07-18 19:15:49 -07:00
shaver@mozilla.org
e195fca1f0 Propagate TCF_COMPILE_N_GO through to inner functions, so that we can avoid nulling their parents and then cloning expensively in DEFLOCALFUN.
Also make Process do COMPILE_N_GO.
2008-07-18 17:15:41 -07:00
Andreas Gal
2422eabd22 Make entryFrame/entryRegs relative to the tree entry since we only adjust ip/sp/rp when exiting from the tree, not in between fragments. 2008-07-18 16:21:22 -07:00
Andreas Gal
7eea6badf4 Adjust ip/sp/rp in the interpreter recovery code, not on the trace. 2008-07-18 15:35:59 -07:00
Andreas Gal
13a006aee6 Write all the debug output to stdout (we can't easily make everything go to stderr, so this way at least it all goes into the same place.) 2008-07-18 14:13:31 -07:00
Andreas Gal
9af8ba0394 Rework some of David's changes. Make sure we don't modify the tree until we are ready to attach the new fragment. Share lirbufs between tree branches. 2008-07-18 14:11:01 -07:00
David Anderson
854288fbb0 Got side exits seemingly working, added if.js to trace-test.js 2008-07-18 10:33:17 -07:00
shaver@mozilla.org
43bff554d7 Handle more operand types in ifop(). 2008-07-18 08:01:51 -07:00
shaver@mozilla.org
0f5b220b76 Better diagnostic info for trace abort. 2008-07-18 07:59:37 -07:00
shaver@mozilla.org
3048327072 lookup/find, but do not fill prop cache from recorder 2008-07-18 00:46:18 -07:00
shaver@mozilla.org
51a8a7e736 When PROPERTY_CACHE_TEST misses, fall back to doing our own lookup via js_GetPropertyHelper. 2008-07-17 23:57:56 -07:00
Andreas Gal
b1cd6900dc Merge. 2008-07-17 21:32:23 -07:00
Andreas Gal
3bcedb1095 Try to clean up the memory allocation/deallocation through the avmplus glue code. 2008-07-17 21:31:50 -07:00
Brendan Eich
20608de4bf Warning elimination. 2008-07-17 18:30:54 -07:00
Andreas Gal
b85a05ff26 Make sure we compile again if we reject a trace by decrementing hits. 2008-07-17 18:15:55 -07:00
Andreas Gal
ec2639cd39 Fix hot loop triggering. 2008-07-17 18:10:47 -07:00
shaver@mozilla.org
c3b817fc24 can't easily find real names for globals, so just number them 2008-07-17 17:33:18 -07:00
Igor Bukanov
d68ca228cc [Bug 445818] Using explicit assembly to implement compare-and-swap on x86-64 to avoid __sync_bool_compare_and_swap (GCC intrinsic) as the latter is buggy at least on ARM. r=brendan 2008-07-18 02:18:45 +02:00
Andreas Gal
e0d138cd5c Merge. 2008-07-17 17:13:41 -07:00
Andreas Gal
c2f37ab89c Disable trees for the time being. 2008-07-17 17:12:28 -07:00
Andreas Gal
93c1fd0a24 Add if.js example for trees. 2008-07-17 16:38:09 -07:00
Andreas Gal
abaf140791 Add the beginning of support for trees. 2008-07-17 16:20:13 -07:00
Bob Clary
8ce164689b JavaScript Tests - update public-failures and universe.data to include mozilla-central 1.9.1 branch, remove unsupported machine configurations, bug 399387 2008-07-18 13:59:09 -04:00
Bob Clary
a007fa4e96 Sisyphus - JavaScript Tests - add detect-universe.sh, bug 446037 2008-07-18 12:56:47 -04:00
shaver@mozilla.org
f91a0cdef3 Label globals and locals with their source-names in trace.
Show line number on abort.
2008-07-17 15:09:48 -07:00
Brendan Eich
b333ac3111 Use the property cache for JSOP_NAMEINC, etc. 2008-07-17 16:54:01 -07:00
Brendan Eich
891c98121c Fix property cache fill to use the right shape. 2008-07-17 16:51:27 -07:00
Brendan Eich
094c419af4 Merge. 2008-07-17 16:50:09 -07:00
Andreas Gal
877cd419c5 Don't allocate FpRegs if sse2 is enabled. 2008-07-17 15:00:22 -07:00
Andreas Gal
8802c2daa2 Add js_IsLoopExit that indicates whether a side exit is likely to continue the loop or not. 2008-07-17 14:58:09 -07:00
Brendan Eich
421f1ba794 Always select gvar ops for declared global vars, instead of only if loopy/enough-used. 2008-07-17 14:37:25 -07:00
Brian Crowder
0af033d4da Bug 430740 - BOM characters are stripped from javascript before execution
r=igor
2008-07-17 16:58:06 -04:00
Andreas Gal
d2e031b38d Cleanup recorder activation, use a single hot loop threshold (10). 2008-07-17 13:42:58 -07:00
Andreas Gal
e70830b8ca Merge. 2008-07-17 10:30:00 -07:00
Andreas Gal
353383c65c Added statistics and a js_DestroyJIT hook. Also use debug_only and not verbose_only as #ifdef DEBUG shortcut. 2008-07-17 10:22:40 -07:00
Ben Turner
799c423cd5 Bug 443870 - Add JSAutoSuspendRequest to match JSAutoRequest
r=brendan
2008-07-17 12:37:32 -04:00
shaver@mozilla.org
1a7596120c remove pointless untracedCall test 2008-07-17 08:43:55 -07:00
Igor Bukanov
d184f89aa7 [Bug 444608] optimizing E4X constructor calls. r=brendan 2008-07-17 16:19:30 +02:00
Jason Orendorff
a663802904 Bug 423867 - Migrate js/src/README.html to developer.mozilla.org (r=brendan) 2008-07-17 07:24:33 -05:00
Andreas Gal
2b72c2eac9 Fix signature of insCall in the FuncFilter and remove f2i(i2f) elimination since we shouldn't really ever hit it. 2008-07-17 03:24:17 -07:00
Andreas Gal
acf999080a Merge. 2008-07-17 02:03:56 -07:00
Andreas Gal
8f9536a2a7 Move up addName to make sure it gets inline in non-debug mode. 2008-07-17 02:02:48 -07:00
shaver
f3c23074e0 Add setprop and tests for setprop and cleanup labling code for debug mode (m=gal). 2008-07-17 02:00:23 -07:00
shaver@mozilla.org
3a154456b3 merge, woo 2008-07-17 01:59:58 -07:00
shaver@mozilla.org
ffdbf9b5cd summarize test results 2008-07-17 01:58:34 -07:00
Igor Bukanov
9c76e009d7 [Bug 433337] jsinterp.cpp source no longer split between 2 compilation units when compiling on Windows. r=brendan 2008-07-17 10:57:34 +02:00
Andreas Gal
8fef5d28f2 Cleanup trace abort handling. 2008-07-17 01:29:41 -07:00
Igor Bukanov
e4258a5c03 [Bug 440184] js_(Lock|Unlock) are defined as external non-inline functions to prevent linkage errors with js shell. r=brendan 2008-07-17 10:22:45 +02:00
Andreas Gal
08b285515b Merge. 2008-07-17 00:48:30 -07:00
Andreas Gal
805904b536 Fixed ASSERT JS_DOUBLE != JS_VOID issue. If the root fragment fails to compile, trash the type-map and re-capture it when we try to re-compile. 2008-07-17 00:48:10 -07:00
shaver@mozilla.org
cb4192d17a JSOP_LENGTH 2008-07-16 23:53:14 -07:00
Andreas Gal
351af4b843 Merge. 2008-07-16 23:48:42 -07:00
Andreas Gal
f52dc6d698 Increase code cache size. 2008-07-16 23:47:57 -07:00
shaver@mozilla.org
ef3bd8335b 4.2, dammit 2008-07-16 23:44:25 -07:00
Andreas Gal
e8f62f1305 Merge. 2008-07-16 23:39:12 -07:00
Andreas Gal
7b15717303 Fix f2i(i2f) filter (broken since the last TT sync, argument order changed from right to left to left to right). 2008-07-16 23:38:39 -07:00
Brendan Eich
f9a54cfd0a Prefer getarg;length, etc. to getargprop. 2008-07-16 23:33:04 -07:00
shaver@mozilla.org
fc685e043d copy capacity when becoming another list 2008-07-16 23:11:17 -07:00
Andreas Gal
b9519a90b1 Don't clear out arguments, clear out variables at method entry. 2008-07-16 23:04:50 -07:00
Andreas Gal
99721bcb09 Better naming of the after_JSOP_CALL event (EnterFrame). 2008-07-16 23:00:59 -07:00
Andreas Gal
fb9d38a976 Notify the recorder when a new frame was created by JSOP_CALL. 2008-07-16 22:58:06 -07:00
Andreas Gal
60371a4c39 Initialize arguments to void and write JSVAL_HOLE's value onto the native stack, not its boxed representation. 2008-07-16 22:25:56 -07:00
Andreas Gal
ba5b2a2e95 Fixed call tests. 2008-07-16 22:08:59 -07:00
Andreas Gal
e81ced786f Hand in typemap the recorder is supposed to use (preparation for side exit compilation and trees). 2008-07-16 21:49:42 -07:00
Andreas Gal
f8812377be Move the allocation of the LIR buffer and the FragmentInfo data structure creation (which includes typemap and interned global calculation) into loopedge. 2008-07-16 21:41:03 -07:00
Andreas Gal
a9a21285a6 Fix typo in test cases. 2008-07-16 19:10:07 -07:00
Andreas Gal
ed943f0759 Make JSOP_CALLNAME tell us why it doesn't like to trace. 2008-07-16 19:00:14 -07:00
Andreas Gal
69e1d9c637 Add md5.js so we can play with it. We should sweep these test cases into a subdir or just delete them once they trace. 2008-07-16 18:10:19 -07:00
Andreas Gal
11e24e5bb4 Add testcase for chains for global calls. 2008-07-16 18:08:58 -07:00
Andreas Gal
5e1f1a851b Fix generation of VOID immediates and initialize rval after the new frame was setup by CALL. 2008-07-16 17:44:44 -07:00
Andreas Gal
ab2f8416a9 Add generic recorder hooks that are called before and after all opcodes as we trace. We might want to instead just move to pre_OP and post_OP. 2008-07-16 17:29:08 -07:00
Andreas Gal
bdf79e7935 Add test case for CALLPROP. 2008-07-16 15:53:04 -07:00
Andreas Gal
7e947d706b Don't intern global function objects onto the native frame since we rarely ever need them anyway (we call them via the property cache). 2008-07-16 15:48:51 -07:00
Andreas Gal
17c5a0d239 Enable CALLNAME and add test case for it so we can call global functions. 2008-07-16 15:40:35 -07:00
Andreas Gal
e40c27e48d Add test cases for call. 2008-07-16 15:26:51 -07:00
Andreas Gal
3456c6f0ec Make sure this/argv[-1] is set fpr CALLVAR and CALLARG. 2008-07-16 15:13:27 -07:00
Andreas Gal
7298396084 Enable inlining for calls. Deep bailouts (from within side exits) are generated but are not allowed to be ever taken (for now). 2008-07-16 15:01:55 -07:00
Andreas Gal
465f6c4288 Don't use a builtin for this. For functions its interned in the native frame. For global this we read from fp->thisp. Restore jsinterp.cpp and jsinterp.h (no longer need COMPUTE_THIS exposed). 2008-07-16 14:36:50 -07:00
David Anderson
4f0e18b670 Synced nanojit with TT tip. 2008-07-16 14:21:31 -07:00
Blake Kaplan
31a2fea1d6 Test that the object has the right class, even when called from native code. bug 444233, r=shaver 2008-07-16 19:29:06 +02:00
shaver@mozilla.org
c2220078ce fix GETXPROP; thanks to brendan for playing chewbacca 2008-07-16 13:10:17 -04:00
Igor Bukanov
742acfc30a [Bug 444076] implementing compare-and-swap for 64-bit Linux. r=brendan 2008-07-16 17:58:37 +02:00
Blake Kaplan
835bec8faa Tab removal. No bug, NPOTB. 2008-07-16 12:06:26 +02:00