Andreas Gal
fbd46b3d96
Add back t/crypto-sha1.js, which magically disappeared at the hands of the nanojit2 patch.
2008-10-13 14:15:23 -07:00
Graydon Hoare
bf84bf6273
Merge tamarin-redux (nanojit2) into tracemonkey (457786, r=edwsmith,gal,danderson).
2008-10-13 13:29:18 -07:00
Andreas Gal
32fb8c040d
Merge.
2008-10-13 13:22:50 -07:00
Andreas Gal
525decaff0
Fix number of expected traces for testNestedExitStackOuter in trace-tests.js
2008-10-13 13:19:37 -07:00
Blake Kaplan
973ba75c26
Re-re-re-merge
2008-10-13 13:10:33 -07:00
David Anderson
55ee8061f8
Return innermost guard from js_ExecuteTree and not outermost (r=gal).
2008-10-13 12:44:37 -07:00
Jason Orendorff
12c5730930
TM: Remove unreachable "return false" in TraceRecorder::record_JSOP_NOT. No bug, r=gal.
2008-10-13 14:10:35 -05:00
Blake Kaplan
54cdbe81ec
Merge mozilla-central -> tracemonkey
2008-10-13 11:05:05 -07:00
Blake Kaplan
665c19d6ac
Bug 458355 - ecma_3/Operators/11.4.1-002.js fail; r=brendan
2008-10-13 19:02:43 +02:00
Jason Orendorff
6b88d0da8d
Bug 459426 - Reunite record_JSOP_{NEW,CALL}. r=gal.
2008-10-13 11:04:26 -05:00
Robert Sayre
da78ac865a
Merge.
2008-10-12 20:50:34 -04:00
Robert Sayre
79bbd2eb93
Bug 459300. JSON should use internal JS functions where it makes sense. r=brendan
2008-10-12 20:48:48 -04:00
Andreas Gal
315c3a9ce7
Use a single instance of the shell to run the quick benchmark.
2008-10-12 15:58:34 -07:00
Andreas Gal
9bfc3c5072
Properly recover from a nested side exit with more than a single level of nesting (459539, r=danderson).
2008-10-12 15:39:32 -07:00
Ben Turner
9a82f09922
Bustage fix.
2008-10-12 12:03:40 -07:00
Ben Turner
311284ddff
Bug 455436 - "XPConnect insists on using its own error reporter even when another is already set." r+sr=jst.
2008-10-12 11:32:34 -07:00
Andreas Gal
d622ee23d8
Merge.
2008-10-11 20:27:03 -07:00
Andreas Gal
798a62ad00
Stack water level is off by +1 in getTop, and JSOP_CALLPROP premature updates the tracker (459537, r=danderson).
2008-10-11 20:26:29 -07:00
Igor Bukanov
db18f808c9
Bug 408539 - Storing XPCContext inside JSContext
2008-10-11 19:35:39 +02:00
Boris Zbarsky
c7e2dfdbea
Fixing docs a bit
2008-10-10 12:45:19 -04:00
Boris Zbarsky
33415ac1fb
Adding some documentation
2008-10-10 12:43:30 -04:00
Jason Orendorff
232767cb27
Bug 459294 - TM: move soft float builtins next to SoftFloatFilter. r=andreas.
2008-10-10 11:31:23 -05:00
Arpad Borsos
8b11d938d2
Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan
2008-10-10 17:04:34 +02:00
Igor Bukanov
35f70f6096
bug 458679 - r=crowder
2008-10-10 15:16:27 +02:00
Andreas Gal
6c4c7256a5
Merge.
2008-10-09 16:17:53 -07:00
Andreas Gal
9a086f63ae
Don't carry around oldpc in AbortRecording path (459321, r=danderson).
2008-10-09 16:17:13 -07:00
Brendan Eich
8f06837465
Bug 408838. Native JSON. r/sr=shaver
2008-10-09 12:16:16 -07:00
Robert Sayre
480186b5af
Merge.
2008-10-09 14:20:08 -04:00
Robert Sayre
1dcc178640
Bug 459259 - Consolidate code for retrieving top of the JSON parser's object stack. r=brendan
2008-10-09 14:18:31 -04:00
Jason Orendorff
319f102472
Bug 459141 - Rename JSTN_{CATCH,FINALLY,ITER} to JSTRY_*. r=brendan.
2008-10-09 12:10:17 -05:00
Jason Orendorff
c4b5d25289
Bug 458098 - js_DumpObject can't handle objects that share proto's scope (r=crowder)
2008-10-09 07:30:21 -05:00
Jason Orendorff
cec3f38c7b
Bug 457919 - Delete unused GCC_OPT_BUG makefile variable (r=mrbkap)
2008-10-09 07:30:20 -05:00
Jason Orendorff
77ddd411ef
Bug 457914 - window.document should not have a quick stub (r+sr=jst)
2008-10-09 07:30:20 -05:00
Brendan Eich
3c94660673
Use standard anti-dangling-else/macro-call-expression-statement macrology.
2008-10-09 00:13:49 -07:00
Brendan Eich
c603bd095c
Fix dangling else blunder (459186, caught by Jesse's fuzzer).
2008-10-08 23:34:00 -07:00
Andreas Gal
35de6c0d9d
Merge.
2008-10-08 21:02:57 -07:00
Andreas Gal
c974289da5
Support thin loops (iteration < 2) by closing the loop even if we are on the last iteration (456431, r=danderson).
2008-10-08 21:02:04 -07:00
Doug Turner
996fd0f708
Bug 458917 - Windows CE Cleanup. r/sr=stuart+bsmedberg
2008-10-08 20:51:54 -07:00
Robert Sayre
5feaaba5f2
Bug 459160 - json.cpp misuses rooting api. r=mrbkap
2008-10-08 23:22:35 -04:00
danderson
c56579e021
Blacklist loop if its unstable and we don't recompile it (459174, r=gal).
2008-10-08 19:58:40 -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
Robert Sayre
4d38e1512c
Fix typo in filename.
2008-10-08 21:52:31 -04:00
Brendan Eich
a4e4559fa5
Bug 381843 - Move for-var-in and for-let-in hoisting from the emitter to the parser (r=mrbkap).
2008-10-08 18:43:28 -07:00
Robert Sayre
6579c458ac
Merge.
2008-10-08 21:17:03 -04:00
Andreas Gal
afc99f7ccc
In ifop, avoid eq0(eq0(x)), instead flip guard direction and use single eq0 (459164, r=danderson).
2008-10-08 17:49:54 -07:00
Andreas Gal
471ed73a35
Evaluate cond to true if value evaluates to true in non-fused if (459159, r=danderson).
2008-10-08 17:44:04 -07:00
Robert Sayre
bef8140a39
Bug 458959. this.JSON is enumerable. r+sr=mrbkap
2008-10-08 19:33:26 -04:00
Andreas Gal
fb350afe17
Non-fused ifs emit different comparison code than the interpreter uses (459151, r=danderson).
2008-10-08 16:23:54 -07:00
Jason Orendorff
3204ec178a
Bug 459085 - TM: Number.toString traceable native is broken (r=gal)
2008-10-08 17:19:15 -05:00
Jason Orendorff
a27d101dab
Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith)
2008-10-08 17:08:33 -05:00
Boris Zbarsky
ffd5e8306f
Adding a few more comments
2008-10-08 14:37:03 -04:00
Robert Sayre
9f7138d61c
Bug 459065. JSON space patrol. r=gal
2008-10-08 13:31:07 -04:00
Blake Kaplan
f7b967fb13
No bug - Drop the request before the ResumeRequest hiding under Pop to avoid deadlocks. r=bent sr=sicking
2008-10-08 16:05:39 -07:00
Andreas Gal
52f71e38dc
Add missing comparison before letting the result of the conditional move flow into the guard for ordered boolean comparisons (457778, r=danderson).
2008-10-07 13:32:30 -07:00
Andreas Gal
1b0fd40e30
Trace push and pop for dense and sparse arrays (453734, r=brendan).
2008-10-07 11:00:16 -07:00
Brendan Eich
19e9638dc3
Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal).
2008-10-06 22:30:36 -07:00
Brendan Eich
6809989bde
Bug 455973 - TM: "Assertion failure: !cx->throwing" with getter that throws (r=mrbkap).
2008-10-06 20:57:38 -07:00
Boris Zbarsky
cab53dbee6
Bug 456165. Trace |new Date()|. r=brendan
2008-10-06 20:28:22 -04:00
David Anderson
26d5db2cc5
Merge.
2008-10-06 16:48:14 -07:00
David Anderson
a4daa1c332
Fixed NaN handling again after backout of busted patch (bug 458472, r=gal).
2008-10-06 16:47:05 -07:00
Andreas Gal
40d1236378
Add support for writing back a boxed value when side-exiting on JSOP_RESUME (453734, r=brendan).
2008-10-06 16:22:57 -07:00
Andreas Gal
95b8fa8a84
Backed out changeset 2176f46b2702 (trying to identify cause for tinderbox burning).
2008-10-06 13:58:11 -07:00
Robert Sayre
690f7346b8
Bug 408838. Native JSON. r/sr=shaver
2008-10-06 16:54:12 -04:00
David Anderson
c34cf06820
Fixed incorrect handling of NaN in ifop causing one new branch per iteration (bug 458472, r=gal).
2008-10-03 17:28:03 -07:00
Graydon Hoare
7bd301d171
Bug 458431 - expression-ordering fix for traced Math.max(0,-0), r=mrbkap
2008-10-03 14:07:33 -07:00
Boris Zbarsky
be17e08640
Adding mandelbrot to trace-test
2008-10-02 19:30:46 -04:00
Brendan Eich
502fb4e4c8
Bug 456831 - TM: Trace JSOP_SETLOCALPOP (r=mrbkap).
2008-10-02 15:39:25 -07:00
David Anderson
15a55dfe6d
Fixed random test failures on AMD64, booleans were being loaded as 64-bit values.
2008-10-02 16:30:58 -05:00
Andreas Gal
49de341e4a
Fixed more confusion of quads/numbers while emitting LIR (bug 458076, r=danderson).
2008-10-01 18:04:39 -05:00
David Anderson
9c7d3f333f
Fixed regression where cmov was disabled on AMD64.
2008-10-01 17:58:38 -05:00
Robert Sayre
c59514f66e
Bug 408838 - DOM binding for native JSON. r+sr=shaver
2008-10-01 02:13:58 -04: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
Andreas Gal
8aa08cec2a
For GETELEM/SETELEM we must check that its a native object first before trying to compare the objects shape to the shape of the global object to ensure its not aliasing the global object (457979, r=shaver).
2008-09-30 20:10:46 -07:00
Vladimir Vukicevic
f761c61b8e
TM: move cmov_available setting into nj arch backends where appropriate
2008-09-30 17:15:09 -07:00
Andreas Gal
83ea7eb834
Merge.
2008-09-30 16:35:52 -07:00
David Mandelin
a9fa2e79d8
Don't trace a property access with a watchpoint (455413, r=brendan)
2008-09-30 13:34:17 -07:00
Andreas Gal
9adad6d33a
Merge.
2008-09-30 13:02:53 -07:00
Andreas Gal
9c4eefd7ec
Fix guarding in case of sparse array setelem (regression from 457580, r=danderson).
2008-09-30 13:02:23 -07:00
David Anderson
0804b51ac0
Fixed cmp number check logic for 64-bit environments (bug 457129, r=gal).
2008-09-30 11:45:00 -05:00
Andreas Gal
21663448c1
Merge.
2008-09-29 22:22:58 -07:00
Andreas Gal
1163c91b59
Don't trace empty for-in loops (457335, r=brendan).
2008-09-29 22:22:40 -07:00
Andreas Gal
c7c062681c
Update XDR version number after bytecode change (457789, r=brendan).
2008-09-29 22:11:35 -07:00
David Anderson
60ff7369b3
Fixed global object ownership change not aborting recording (bug 455173, r=gal).
2008-09-29 23:55:58 -05:00
Andreas Gal
d0ca373339
Follow-up work for 457789, emit JSOP_RESUME after JSOP_NEW as well (r=brendan).
2008-09-29 21:30:02 -07:00
David Anderson
75e7abcf38
Fixed crash when charCodeAt failed (with NaN) while recording (bug 457795, r=gal).
2008-09-29 23:20:34 -05:00
Brendan Eich
11db6aaf1d
Always use JSBool (not bool sometimes, JSBool others) as JSVAL_IS_BOOLEAN's native slot type.
2008-09-29 22:27:43 -04:00
Andreas Gal
320dd48955
Add a resume point (JSOP_RESUME) immediately following JSOP_CALL (457789, r=mrbkap).
2008-09-29 18:49:40 -07:00
Andreas Gal
36e0e1fcbf
Catch negative indexes at recording time. At runtime the builtins already check for us. Also guard for shape and setters/getters for non-dense integer index setelem case (57580, r=mrbkap).
2008-09-28 17:11:47 -07:00
Reed Loden
a4f6f0e831
Back out Robert Sayre's patch from bug 408838 due to test failures (changeset 2fe3cb0c9f7c).
2008-10-01 03:22:30 -05:00
Andreas Gal
e6006ef942
Add test case for 457456.
2008-09-27 13:13:42 -07:00
Andreas Gal
bd2e228fd0
Fix constant folding for cmov and add folding of or/and/xor (457456, r=danderson).
2008-09-27 13:10:24 -07:00
Robert O'Callahan
4834e88fce
Backing out patch for bug 456027 to try to fix test bustage
2008-09-27 20:56:42 +12:00
Andreas Gal
5fdd5d2b67
Properly handle cmov and sse2 flags, and put them in a central place not into each platform-dependant assembler (457355, r=danderson).
2008-09-26 20:39:21 -07:00
Andreas Gal
5cc5fdedb8
Merge.
2008-09-26 19:21:27 -07:00
Andreas Gal
9960750440
Can't use JSVAL_IS_BOOLEAN on trace since boolean type contains undefined (457351, r=brendan).
2008-09-26 19:20:52 -07:00
David Anderson
ce71880114
Fixed a bug where no shape guard was emitted if a property was not found, causing it to remain unseen if added later. Abort in this case instead. (bug 457171, r=brendan)
2008-09-26 19:18:00 -07:00
Andreas Gal
884eabf3d5
Cleanup SETELEM, box early (in case we side exit on that) and don't set return value if INITELEM or followed by POP (457336, r=brendan).
2008-09-26 17:33:40 -07:00
Blake Kaplan
d2e4f90dc6
Bug 456027 - Innerize earlier so we don't rely on the JS engine providing getters that might not be there. r=brendan sr=jst
2008-09-26 15:42:47 -07:00
Blake Kaplan
8c46931ccc
Bug 455765 - Set global flags on global objects' first use so the JS engine doesn't get confused. r+sr=jst
2008-09-26 15:40:31 -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
Andreas Gal
93a292bd90
Merge.
2008-09-26 14:16:25 -07:00
igor
19701dd91b
When replenishing the recovery double pool, detect if a GC happens (follow up work for 456826, r=gal).
2008-09-26 14:16:11 -07:00
Boris Zbarsky
fe2220afb1
Bug 456165 part 2. Trace Date.now. r=gal
2008-09-26 14:37:50 -04:00
Boris Zbarsky
a4b9ae6222
Bug 456370. Flush the fragment cache earlier on global shape mismatch. r=gal
2008-09-26 14:37:49 -04:00
Boris Zbarsky
50c786d373
Bug 456165 part 1. Get rid of icky JS_LL macros, r=brendan
2008-09-26 14:08:28 -04:00
Andreas Gal
7bb0a663e6
Use a pre-allocated pool of doubles to make sure we can safely recover in case of OOM or out of doubles (456826, r=brendan).
2008-09-25 19:11:48 -07:00
Brendan Eich
8030ce9609
Bug 457130 - TM: regexp lastIndex property not traced correctly (r=danderson).
2008-09-25 17:45:14 -07:00
David Anderson
3808521295
Workaround for intermittent js_GetClassObject failures (bug 457069, r=brendan).
2008-09-25 17:30:01 -07:00
Brendan Eich
9807c189fe
Bug 457127 - TM: Crash on digg.com with adblock plus [@ ReconstructPCStack] (r=danderson).
2008-09-25 17:05:06 -07:00
Brendan Eich
f875d89fa2
Bug 456810 - TM: Crash on digg.com with adblock plus [@ ReconstructPCStack] (r=gal).
2008-09-25 15:04:48 -07:00
David Anderson
fca4e20f3a
Added test case for bug 456667.
2008-09-25 14:16:24 -07:00
Brendan Eich
b7841b8cfd
Fixed argc < nargs miscount in js_SynthesizeFrame and adjusted a related assertion (bug 456667, r=danderson).
2008-09-25 13:12:01 -07:00
Andreas Gal
4be7fad144
Merge.
2008-09-25 11:32:00 -07:00
Andreas Gal
5b117e1c3f
Rewrite and cleanup GETELEM and SETELEM (455748, r=brendan).
2008-09-25 11:31:40 -07:00
Jason Orendorff
b6158434af
Bug 456469 - Dead variable pval in js_NativeSet (r=brendan)
2008-09-25 11:29:12 -05:00
Jason Orendorff
e63d2c737c
Bug 455953 - js_DumpObject debugging function (r=crowder)
2008-09-25 11:29:12 -05:00
Jason Orendorff
c35bfc3682
Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky)
2008-09-25 11:13:31 -05:00
Brendan Eich
d56e0c688e
Back off premature arguments tracing (453730 temporary measure).
2008-09-25 08:51:40 -07:00
Andreas Gal
10b165830b
Merge.
2008-09-25 08:00:26 -07:00
Andreas Gal
a7a4b8be7b
Backed out changeset c5d4e22e54ad (reopened 456201).
2008-09-25 07:58:56 -07:00
Igor Bukanov
82f9c64e29
bug 378918 - scalable thread-local GC free lists
2008-09-25 15:27:59 +02:00
Andrei Saprykin
6f45d79b4b
bug 444979 - fixing JSOP_TABLESWITCH to treat -0 as 0
2008-09-25 15:18:41 +02:00
Andreas Gal
97be5eae89
Merge.
2008-09-24 23:32:19 -07:00
Andreas Gal
eb5f8be2b1
Demote modulo operations to integer if both args are int (456934, r=brendan).
2008-09-24 23:28:56 -07:00
Brendan Eich
3238fa4180
Bug 456931 - TM: GVAR op record methods use wrong object (r=gal).
2008-09-24 23:09:46 -07:00
Brendan Eich
86b3bc3671
Bug 456932 - TM: Don't assert that global object can't grow additional properties if none are used by any trace and we don't check for global shape mismatches (r=gal).
2008-09-24 23:05:44 -07:00
Ben Turner
8fdc38c40a
Backed out changeset 5986b4269d9d
2008-09-24 21:07:05 -07:00
Ben Turner
85938eeb67
Bug 450452 - "Implement XHR ('minus X') for worker threads". r+sr=jst.
2008-09-24 19:48:07 -07:00
Andreas Gal
c3ae2f8027
Merge.
2008-09-24 19:33:04 -07:00
Andreas Gal
f1cdf0fd1c
Make sure JSOP_DEFLOCALFUN pushes the right function object (456470, r=brendan).
2008-09-24 19:31:51 -07:00
Brendan Eich
d9b970f735
Fix warning.
2008-09-24 18:50:46 -07:00
Brendan Eich
ac41d655c4
Merge pull from mozilla-central.
2008-09-24 18:46:44 -07:00
Andreas Gal
9b1f70d488
Compile jsregexp.cpp with -O9 and -fomit-frame-pointer (456201, r=shaver).
2008-09-24 17:44:25 -07:00
Andreas Gal
5fdc88e6b7
Only fasttrack applys where the arguments array has the same lengths as the expected arguments of the called function (456494, r=brendan).
2008-09-24 16:45:27 -07:00
Andreas Gal
e50585b158
Merge.
2008-09-24 16:32:36 -07:00
Andreas Gal
2bc1ba7a91
The meaning of T changed in our builtin table to object-only, so we have to mark the string builtins now with S, instead of T (454682, r=brendan).
2008-09-24 16:31:07 -07:00
Brendan Eich
d0645c2e47
Bug 456875 - TM: js_SynthesizeFrame must js_GetCallObject if JSFUN_HEAVYWEIGHT (r=mrbkap).
2008-09-24 15:43:19 -07:00
Brendan Eich
536e07f808
Bug 455146 - TM: Going to NEW Facebook profile page causes crash. [ @FlushNativeStackFrame] (r=danderson,mrbkap).
2008-09-24 15:40:08 -07:00
Andreas Gal
619234db4c
Back out attempt to invoke natives that return a boxed value (namely push and pop, 453734).
2008-09-24 15:18:19 -07:00
David Anderson
635fe0398d
Merge.
2008-09-24 13:12:54 -07:00
David Anderson
a53ee95a20
Fixed breaks in switch statements causing premature end-of-traces (bug 456345, r=gal,brendan).
2008-09-24 13:12:25 -07:00
Neil Rashbrook
6f6de04b5e
Make nanojit build non-debug with VC7.1 (bug 455210, r=danderson).
2008-09-24 10:21:49 -07:00
Brendan Eich
60cb87195a
Bug 453024 - Mochitest Assertion failure: vp + 2 + argc <= (jsval *) cx->stackPool.current->avail, at jsinterp.cpp:1066 (r=igor/mrbkap).
2008-09-24 02:24:22 -07:00
Brendan Eich
c184542b3b
Bug 453024 - Mochitest Assertion failure: vp + 2 + argc <= (jsval *) cx->stackPool.current->avail, at jsinterp.cpp:1066 (r=igor/mrbkap).
2008-09-24 02:10:47 -07:00
David Anderson
ccd5e825b9
Fixed jstracer's operator delete leaking out into other shared libraries (bug 452721, r=gal).
2008-09-23 18:12:53 -07:00
Andreas Gal
38a8e67fa5
Merge.
2008-09-23 17:19:02 -07:00
Andreas Gal
958c18fb2a
Add builtin for invocation of match() on String objects (454682, r=danderson).
2008-09-23 17:18:40 -07:00
Doug Turner
cf6bf884ef
Bug 456458 - JS Tracer uses file-system stat structure name - WinCE compile fails. patch by dougt, r=crowder
2008-09-23 14:35:29 -07:00
David Anderson
b3141a864c
Fix where recording could crash if globalObj->dslots got reallocated (bug 451137, bug 455137, r=gal).
2008-09-23 13:29:41 -07:00
Andreas Gal
9ae4f39d64
Don't demote dmod to imod since there is no case that is guaranteed to produce valid integer results for all inputs (456540, r=danderson).
2008-09-23 12:21:15 -07:00
Doug Turner
368e1aa2d8
Bug 455374 - WinCE JS DLL does not need DllMain() function. patch by wolfe, r=crowder
2008-09-23 11:01:31 -07:00
Brendan Eich
ef1a9b029a
JS_snprintf for portability, not snprintf (bustage fix).
2008-09-23 00:59:59 -07:00
Andreas Gal
b967b5aec8
Use JS_snprintf instead of snprintf which Windows doesn't seem to know about (fix build breakage).
2008-09-23 00:58:11 -07:00
Andreas Gal
5054e0003b
Don't emit constant guards for switch and ifop (455605, r=danderson).
2008-09-22 17:58:25 -07:00
Andreas Gal
0c5b47dc28
Merge.
2008-09-22 17:03:00 -07:00
Andreas Gal
d85fc31e85
Both sides of a modulo have to be demotable before we can optimize using imod (456477, r=danderson).
2008-09-22 17:02:33 -07:00
Boris Zbarsky
5bf1de2855
Bug 456369. Checking of JIT stats should not loop. r=brendan
2008-09-22 17:37:59 -04:00
Andreas Gal
7b70046b10
Merge.
2008-09-22 13:05:12 -07:00
Andreas Gal
df641c58e5
Compilation fixes for DISABLE_JIT=1 (r=danderson).
2008-09-22 13:04:47 -07:00
David Anderson
d1bc6dc0d8
Fixed jstracer.cpp no longer building in the browser because of -pedantic.
2008-09-22 11:23:22 -07:00
Andreas Gal
368f7d5382
Merge with mozilla-central.
2008-09-21 12:44:24 -07:00
Brian Crowder
910abe1b30
Adding missing file
2008-09-21 09:03:16 -04:00
Boris Zbarsky
f1b69640dd
Backed out changeset c0364f5e0a84
2008-09-21 09:02:09 -04:00
Boris Zbarsky
f068ba4b22
Adding missing file
2008-09-21 08:59:52 -04:00
Brendan Eich
782b633703
Fix bug 455763 (r=me).
2008-09-21 01:38:39 -07:00
Brian Crowder
d87b65397b
Add a JIT stats object in the shell
2008-09-19 22:47:58 -04:00
Boris Zbarsky
4b972f730f
Adding test for bug 451605
2008-09-19 21:58:00 -04:00
Andreas Gal
da5081c842
Properly calculate tree exit/call guards (bug 453397, r=danderson).
2008-09-19 18:45:57 -07:00
Andreas Gal
461209cef6
Merge.
2008-09-19 16:09:39 -07:00
Andreas Gal
b20918f930
Dynamic reconstruction of arbitrary native frames (454402, r=danderson).
2008-09-19 16:09:18 -07:00
Boris Zbarsky
c504a551d6
Adding some comments
2008-09-19 17:54:49 -04:00
Andreas Gal
101addb2f6
Merge.
2008-09-19 12:29:56 -07:00
Andreas Gal
16fbc92e91
Backed out changeset 5e4ec981e9ea
2008-09-19 12:07:46 -07:00
Boris Zbarsky
7b41e7daf4
Adding some documentation
2008-09-19 14:45:16 -04:00
Andreas Gal
f06affb8ed
Allow tree to grow around unbox operations when the type of the value changes (452514, r=danderson).
2008-09-18 17:40:46 -07:00
Andreas Gal
9d7afa336a
Add support for fast native that return jsval and wire up push/pop (453734, r=mrbkap).
2008-09-18 16:53:09 -07:00
Andreas Gal
9908bc1345
Merge.
2008-09-18 16:08:52 -07:00
Andreas Gal
2c406fe617
Add support for JSOP_NOT on strings (451787, r=danderson).
2008-09-18 16:04:54 -07:00
David Anderson
b895f26605
Fixed trying to record arguments past the formal arg count in JSOP_ARGSUB and JSOP_CALL (bug 455757, r=gal).
2008-09-18 15:23:22 -07:00
David Anderson
40d94b8bed
Fixed -0 being treated as a promotable unsigned integer (bug 455758, r=gal).
2008-09-18 14:19:17 -07:00
Andreas Gal
708f08ca9c
Properly handle side exits in scripted constructors (originally mrbkap, r=brendan, 453462).
2008-09-18 14:13:37 -07:00
Andreas Gal
f074cc7a9f
Cleanup and unify comparison code (455811, r=danderson).
2008-09-18 13:31:26 -07:00
Brendan Eich
510c72d4f0
Bug 455464 - TM: "Assertion failure: !TRACE_RECORDER(cx) ^ (jumpTable == recordingJumpTable)" with gc getter (r=mrbkap).
2008-09-17 08:10:23 +01:00
Andreas Gal
183ab27e9d
Use Object as prototype if the prototype of the constructor is primitive (452960, r=mrbkap).
2008-09-16 18:49:27 -07:00
Andreas Gal
b2cff5e791
Expose push pop in jsarray and add builtins (453734, r=mrbkap).
2008-09-16 17:07:59 -07:00
Andreas Gal
dab25898eb
Don't export operator new/delete except if really needed (452721, r=danderson).
2008-09-16 13:57:59 -07:00
Andreas Gal
6de13bab44
Merge.
2008-09-16 13:24:57 -07:00
Andreas Gal
8ef12c41b5
Removed bogus assert (argv is NULL if callee is NULL, assert segfaults, 452495, r=danderson).
2008-09-16 13:24:34 -07:00
Jason Orendorff
14fd1396b5
Bug 454343 - Assertion failure: obj == pobj, at src/js/src/jsinterp.cpp:160 (r+sr=mrbkap)
2008-09-16 14:27:03 -05:00
David Anderson
6dcdb6aeb9
Fixed pointer arithmetic bug during trace recording on 64-bit platforms (bug 454981, r=m_kato).
2008-09-16 10:48:54 -07:00
Andreas Gal
37a7d9274f
Add test case for 455408.
2008-09-16 08:07:01 -07:00
brendan
472ac757b4
Don't forget to set RHS as result in SETPROP in case we don't call either SetPropHit or SetPropMiss, new patch (455408, r=gal).
2008-09-16 08:03:12 -07:00
Andreas Gal
4f38e736a7
Backed out changeset 66a76c8c7346
2008-09-16 06:51:33 -07:00
brendan
18c4ef65df
Don't forget to set RHS as result in SETPROP in case we don't call either SetPropHit or SetPropMiss (455408, r=gal).
2008-09-16 06:26:57 -07:00
Andreas Gal
ce30f97561
Merge.
2008-09-16 06:22:32 -07:00
Andreas Gal
61aeda1e95
Detect modulo by constant that is not zero and demote to integer modulo (451788, r=brendan).
2008-09-16 06:20:54 -07:00
Brendan Eich
68172b5938
Bug 453411 - "Assertion failure: !cx->onTrace" with yield string (r=gal).
2008-09-16 14:00:02 +01:00
Ben Newman
3a8f74e2d8
Bug 446584 - NodeIterator doesn't forward exception properly; r=(jonas + jst) sr=jst
2008-09-16 13:47:47 +02:00
Andreas Gal
70d28c8730
Backed out changeset 61b9209c186f
2008-09-15 19:59:06 -07:00
brendan
663c6aeb04
test_property_cache_direct_slot forgot to insist on a direct slot for get ops (453249, r=gal).
2008-09-15 19:40:43 -07:00
Blake Kaplan
087c2331f5
Bug 450692 - Don't unconditionally add inner and outer object hooks to XPConnect objects.
2008-09-15 17:14:08 -07:00
Andreas Gal
10e4759086
Merge.
2008-09-15 17:12:21 -07:00
Andreas Gal
2e60c6889f
Merge.
2008-09-15 17:09:45 -07:00
Andreas Gal
13cc3eaad6
Backed out changeset 87fe68f51647
2008-09-15 17:09:25 -07:00
Andreas Gal
950247bb9d
Fix JSOP_NOT (455380, r=brendan).
2008-09-15 17:08:15 -07:00
Robert Sayre
26dfedb82e
Merge
...
Hg: user: Robert Sayre <sayrer@gmail.com>
2008-09-15 19:45:05 -04:00
Robert Sayre
9c41ae9cce
Add check to make sure bug 452008 remains fixed.
2008-09-15 19:36:03 -04:00
Andreas Gal
0764f9fccb
Demote modulo operation with a constant non-zero right hand side (451788).
2008-09-15 15:59:25 -07:00
Andreas Gal
a580bcd185
Implement comparison of numbers against null (455293, r=brendan,danderson).
2008-09-15 15:30:06 -07:00
Andreas Gal
f369f7dcfb
Whitespace nit-pick (453261, r=brendan).
2008-09-15 15:26:16 -07:00
Andreas Gal
cdb4ed8fae
Merge.
2008-09-15 15:01:44 -07:00
Andreas Gal
95068bdc26
Properly handle floating point array indexes (453261, r=brendan).
2008-09-15 15:00:40 -07:00
Vladimir Vukicevic
47e9d3a21b
b=454530; misc trace abort fixes (trace String.concat); r=brendan
2008-09-15 17:30:05 -04:00
Jason Orendorff
2e3c2852da
Bug 453331 - Quick stubs: handle members with the same name (r+sr=jst)
2008-09-15 09:18:38 -05:00
Andreas Gal
be1b44bf0e
Trace slow array get/set of indexed props (453261, r=brendan).
2008-09-15 00:54:28 -07:00
Jesse Ruderman
e61b63eb62
Add crashtest
2008-09-14 00:20:17 -07:00
Robin Bate Boerop
2082181641
Bug 412866 - Reuse regexp arena, original patch by Robin Bate Boerop <moz@shorestreet.com>, refreshed by Ryan VanderMuelen <ryanvm@gmail.com>, r=crowder
2008-09-12 15:11:48 -07:00
Brendan Eich
a834957775
TraceRecorder::record_SetPropMiss mis-layered on top of record_SetPropHit (454689, r=mrbkap).
2008-09-11 15:53:00 -07:00
Ginn Chen
7e5c865f31
Bug 452588 bustage on Solaris
2008-09-11 20:12:55 +08:00
Brendan Eich
e0626f7799
Bug 453563 - TM: assertion when running unit tests with the JIT on (r=danderson).
2008-09-11 00:07:50 -07:00
Brendan Eich
ef47fcf4f8
Bug 454744 - TM: "Assertion failure: PCVAL_IS_SPROP(entry->vword)" with getter.
2008-09-11 00:00:37 -07:00
Ryan VanderMeulen
950f98985d
Bug 337890 - please spell formater formatter; mozilla-central part; r=timeless
2008-09-12 18:24:14 +02:00
Brendan Eich
fe5c11a5ea
TraceRecorder::record_SetPropMiss mis-layered on top of record_SetPropHit (454689, r=mrbkap).
2008-09-11 18:35:29 -07:00
Ginn Chen
490ca10263
Bug 452588 bustage on Solaris
2008-09-11 19:34:54 +08:00
Brendan Eich
b9b65ec429
Bug 453563 - TM: assertion when running unit tests with the JIT on (r=danderson).
2008-09-11 00:07:14 -07:00
Brendan Eich
1d69adc89d
Bug 454744 - TM: "Assertion failure: PCVAL_IS_SPROP(entry->vword)" with getter.
2008-09-11 00:04:33 -07:00
Vladimir Vukicevic
81dcc17709
Get rid of bogus nanojit arm platform stats line
2008-09-10 13:08:08 -07:00
Vladimir Vukicevic
b5c30cfadc
Get rid of bogus nanojit arm platform stats line
2008-09-10 13:06:31 -07:00
Benjamin Smedberg
b7c5804c10
Merge backout of the old patch for bug 453388 - we can statically allocate Oracle again, now that we're linking using the C++ linker magic, r=crowder
2008-09-10 15:38:28 -04:00
Benjamin Smedberg
bfeb170706
Merge backouts of bug 453388 - using g++ to link libjs.so means we can have static classes
2008-09-10 15:27:17 -04:00
Benjamin Smedberg
52e1ae86c7
Backed out changeset fc4a8cc07c9f - bustage fix from the first patch for bug 453388 which is also being backed out
2008-09-10 15:21:30 -04:00
Benjamin Smedberg
e780e5e3ea
Backed out changeset e2614011f194 - Bug 453388 - the better solution is to allow static objects and link libjs.so with g++ so that _init and _fini run static constructors/destructors correctly backout r=crowder
2008-09-10 15:20:01 -04:00
Benjamin Smedberg
ad47b4958a
bug 453388/bug 454624 - link using g++ instead of ld, so that static constructors/destructors will fire correctly r=crowder
2008-09-10 15:16:50 -04:00
Blake Kaplan
afe8fdc761
Work around incorrect but annoying strict-aliasing warning. r=brendan
2008-09-10 00:36:01 -07:00
Blake Kaplan
bcd1f7f97d
Fix bustage -- these macros are only defined if the tracer was enabled.
2008-09-10 00:12:26 -07:00
Blake Kaplan
88856d9ef1
Merge tracemonkey -> mozilla-central
2008-09-09 23:38:21 -07:00
Brendan Eich
ce15bc7cd3
Bug 454039 - TM: don't abort TraceRecorder::record_JSOP_SETPROP on cache miss (r=mrbkap).
2008-09-09 22:22:52 -07:00
Brendan Eich
7d5c49516c
Back out patch for bug 454039.
2008-09-09 16:55:07 -07:00
Brendan Eich
c7b40d9f99
Bug 454039 - TM: don't abort TraceRecorder::record_JSOP_SETPROP on cache miss (r=mrbkap).
2008-09-09 16:05:04 -07:00
Brendan Eich
ad49bd309d
Bug 453918 - TM: eliminate silly map_is_native guards on globalObj (r=shaver).
2008-09-09 16:01:01 -07:00
David Anderson
cd9032e6fe
Fixed Linux build, extra qualification on member function.
2008-09-09 13:20:44 -07:00
Brendan Eich
34a2d3c518
Fix build bustage: parent or proto might be not JSObject* when setting to null. r=brendan, patch by bz.
2008-09-09 12:33:28 -07:00
Boris Zbarsky
4cc2ce122f
Fix build bustage: parent or proto might be not JSObject* when setting to null. r=brendan
2008-09-09 15:27:19 -04:00
Brendan Eich
94b10f6170
Avoid needless prototype-shape purges (454035, r=igor).
2008-09-09 11:24:03 -07:00
Ted Mielczarek
468a3823fc
bug 447642 - get rid of --disable-mochitest, replace MOZ_MOCHITEST with ENABLE_TESTS. r=bsmedberg
2008-09-09 13:59:11 -04:00
Brendan Eich
40cf4096c7
Avoid needless prototype-shape purges (454035, r=igor).
2008-09-09 09:57:10 -07:00
Andreas Gal
3c8d2430dd
Merge.
2008-09-09 17:21:32 +02:00
Andreas Gal
85b1749c8c
Capture the typemap of the outgoing stack frame during a function call and store a pointer to it on the native call stack.
2008-09-09 15:16:21 +02:00
Andreas Gal
6a76d26107
Extract the snapshot code for a single slot into determineSlotType() und use that method in snapshot().
2008-09-09 15:06:23 +02:00
Blake Kaplan
4203e79309
Trace Math.max. r=brendan
2008-09-08 20:06:58 -07:00
Robert Sayre
871c6608b7
Add date tests to correctness checks
2008-09-08 22:36:30 -04:00
Robert Sayre
c6b73406b6
Add controlflow-recursive to correctness checks
2008-09-08 21:15:46 -04:00
Robert Sayre
b381016d68
Add some basic correctness tests for benchmarks
2008-09-08 21:02:57 -04:00
Brendan Eich
5b35846387
Fix bug 454266 - js_FillPropertyCache uses the wrong scope's shape sometimes (r=mrbkap).
2008-09-08 15:52:35 -07:00
Brendan Eich
cd3284e96a
Fix bug 454266 - js_FillPropertyCache uses the wrong scope's shape sometimes (r=mrbkap).
2008-09-08 15:51:47 -07:00
Ben Turner
c6eb5d4c06
Properly initialized mSaveDepth in JSAutoSuspendRequest, r=sayrer.
2008-09-08 15:09:41 -07:00
Andreas Gal
32f22d2e1e
Don't try to record recursion until we support it properly (454277).
2008-09-08 22:49:17 +02:00
Taras Glek
71b568fe41
bug 453889: Correct prbool misuse in spidermonkey
2008-09-08 13:41:09 -07:00
Blake Kaplan
6a6096aebd
Bug 453345 - Only look at pn_extra if we're actually a list. r=brendan
2008-09-08 11:47:15 -07:00
Peter Van der Beken
79f9a72d30
Fix for bug 443415 (Name more CC edges). r/sr=jst.
2008-09-08 20:26:46 +02:00
Taras Glek
7e792aca92
bug 453892: fix prbool bugs in xpconnect. r=jorendorff
2008-09-08 11:19:58 -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
Boris Zbarsky
6e51375684
Removing shark think which landed by accident
2008-09-08 08:57:52 -04:00
Boris Zbarsky
c57647d6f4
Bug 451605. Make sure to properly restore the thisp for the innermost frame when taking a nested side exit with a callDepth > 0. r=brendan,gal
2008-09-08 08:55:20 -04:00
Igor Bukanov
27d83904e5
bug 453133 - merging JSOP_DEFUN and JSOP_CLOSURE. r=brendan
2008-09-08 13:58:17 +02:00
timeless
f7c8db5a8a
Bug 330237 - editline.c:1038: warning: implicit declaration of function getpid. r=mrbkap
2008-09-08 13:27:57 +02:00
Igor Bukanov
1694ed5ded
bug 454163 - fixing build problem with 64-bit debug builds.
2008-09-08 12:37:41 +02:00
Igor Bukanov
23c5063560
bug 446386 - eliminating compiler pseudo-frames. r=brendan
2008-09-08 11:47:12 +02:00
Brendan Eich
082cb07c53
Make return at callDepth 0 terminate the loop, like break (454027, r=gal).
2008-09-08 00:31:18 -07:00
Ginn Chen
b807ca4816
Bug 440714 use -xldscope for Sun Studio on Solaris r=vladimir,benjamin sr=benjamin
2008-09-08 14:21:07 +08:00
Brendan Eich
5b48852abb
Patch from Mike Kaplinskiy <mike.kaplinskiy@gmail.com> implementing trim, trimLeft, and trimRight (305064, r=me).
2008-09-07 10:22:41 -07:00
Brendan Eich
e697e5113d
Bug 454044 - TM: JSOP_NOT needs isPromoteInt/::demote help.
2008-09-07 01:40:24 -07:00
David Anderson
5018287de0
Trace through parseInt(double), bug 454037 r=gal+brendan.
2008-09-07 02:41:10 -05:00
Serge Gautherie
5a5f67274f
Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; "dom_quickstubs.cpp" bustage fix
2008-09-07 00:50:45 +02:00
Arpad Borsos
9b6f558fee
Bug 398946 - Remove JS_STATIC_DLL_CALLBACK and JS_DLL_CALLBACK from the tree; r=(benjamin + bent.mozilla)
2008-09-07 00:21:43 +02:00
Arpad Borsos
534fd11101
Bug 443058 - Remove MOZ_DECL_CTOR_COUNTER; <mozilla-central> part; r=benjamin
2008-09-07 00:04:10 +02:00
Vladimir Vukicevic
7c80853b9f
Enable tracemonkey/nanojit for ARM.
2008-09-06 01:19:29 -07:00
Brendan Eich
a8474f5a5b
Merge.
2008-09-05 20:31:05 -07:00
Brendan Eich
ba17412f5e
Easy fixes to avoid aborting on V8/raytrace.js: MAX_CALLDEPTH doubled to 10; JSOP_NOT handles int and undefined.
2008-09-05 18:57:32 -07:00
Brendan Eich
623433f549
Merge.
2008-09-05 18:34:16 -07:00
Brendan Eich
fc936fa1da
Checkpoint arguments tour-de-force (453730).
2008-09-05 18:29:08 -07:00
Vladimir Vukicevic
4a51b1989f
[arm] Use preindexed STR instruction instead of separate STR and SUB in asm_pusharg
2008-09-05 18:24:58 -07:00
Vladimir Vukicevic
de76f2638d
[arm] Have asm_quad copy direct from const to destination, if there's no register allocated for the const -- don't load into fp reg just to store it.
2008-09-05 17:24:54 -07:00
Vladimir Vukicevic
66c6f5db3a
[arm] use arm_ADDi and let it take care of LD32 if necessary.
2008-09-05 17:23:36 -07:00
Vladimir Vukicevic
0b61a36a81
[arm] Don't load arg into a register in asm_pusharg if it's not in one already.
2008-09-05 17:19:31 -07:00
Vladimir Vukicevic
5c53ce04cc
[arm] Don't use STMIA + ADD to move a fp call result into memory; use two STRs. Also use Scratch + tmp reg for asm_mmq, instead of just tmp.
2008-09-05 17:18:33 -07:00
Vladimir Vukicevic
7f39cd73d0
[arm] speed up store64 with constant value; also use xor for imm0 loads into a gp reg
2008-09-05 17:17:25 -07:00
Vladimir Vukicevic
02b2a31dc8
[arm] make asm_quad stick its constants into the instruction stream, with a branch over, to ensure that the data is close enough for a PC-relative FLDD
2008-09-05 17:15:23 -07:00
Vladimir Vukicevic
6ef2cd20aa
[arm] Make ADDi into a function, since it's doing a lot of work
2008-09-05 17:14:05 -07:00
Ginn Chen
2763e5d63e
Make TraceMonkey build on Solaris x86 with Sun Studio 12 (bug 452588, r=danderson).
2008-09-05 16:56:03 -07:00
Ben Turner
cb1f4f55af
Bug 451731 - "Update caps, dom, xpconnect for Bug 451729 (checkObjectAccess moving to the JSContext)". r+sr=jst.
2008-09-05 16:26:04 -07:00
Ben Turner
1e5c70827f
Bug 451729 - " Allow runtime's security callbacks to be overridden by a context". r=brendan.
2008-09-05 16:24:53 -07:00
David Anderson
85d4033733
Fixed a verbosity mode memory leak in LirNameMap::addName (bug 453895, r=sayrer).
2008-09-05 16:05:13 -07:00
Ginn Chen
a3f5be56ad
Added new macro AVMPLUS_UNIX to reduce redundancy and add Solaris support to the TM browser build (bug 452589, r=dvander).
2008-09-05 15:15:00 -07:00
David Anderson
9937dc1262
Trace through Math.log as a known native (bug 453868, r=brendan).
2008-09-05 14:25:01 -07:00
David Anderson
ba87213e86
Abort tracing if a callee encounters a primitive |this| and doesn't support it (bug 453701, r=brendan).
2008-09-05 13:55:03 -07:00
Jason Orendorff
edf679ff71
Merge more work by Jim Blandy on bug 97954.
2008-09-05 15:05:26 -05:00
Benjamin Smedberg
7dcf85d822
Bug 453658 - /s /S /w /W in character classes perform very poorly. r=crowder (showed up as Dromaeo test "DOM MOdification (Prototype): update()"
2008-09-05 14:21:32 -04: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
Brendan Eich
ff7bea2566
Use js_NaN global that we exported from jsnum.cpp, instead of cx->runtime->jsNaN.
2008-09-04 22:30:04 -07:00
Blake Kaplan
b4d3674f58
Bug 453747 - Replace any holes on the stack with undefined. r=gal
2008-09-04 22:14:27 -07:00
Brendan Eich
ce684a0a6e
Bug 453747 - Avoid overuse of the fun_getProperty class getter to optimize getting and setting random properties on functions. r=mrbkap
2008-09-04 21:56:37 -07:00
David Anderson
3e31bc7fb2
Another fix for the patch to bug 452884 -- when ignoring switch guards, don't update the tracker stack.
2008-09-04 20:11:58 -07:00
David Anderson
8c610797f3
Merge.
2008-09-04 19:43:58 -07:00
David Anderson
05991c905d
Better fix for bug 452884 (changeset badf4c84665f regressed) - don't emit guards rather than bailing out of comparisons (r=gal).
2008-09-04 19:43:07 -07:00
David Anderson
f7e43913ab
Fixed verbose printing typo on AMD64.
2008-09-04 19:39:18 -07:00
Brendan Eich
ae2a22c019
Bug 453747 - Avoid overuse of the fun_getProperty class getter to optimize getting and setting random properties on functions. r=mrbkap
2008-09-04 19:30:58 -07:00
Brendan Eich
b35babfe1d
House style bracing for multiline then clause.
2008-09-04 18:53:31 -07:00
Brendan Eich
b1ff34380c
Merge again.
2008-09-04 18:46:36 -07:00
David Anderson
1fef1cf8ac
Make sure 32-bit loads into 64-bit registers are sign-extended.
2008-09-04 18:32:00 -07:00
David Anderson
09123ebd63
Don't guard on constant decisions, which will always have the same path (bug 452884, r=gal).
2008-09-04 14:44:59 -07:00
Jim Blandy
9a1e56065c
Bug 453696: js/src/Makefile.in lists host_jsoplengen twice in HOST_SIMPLE_PROGRAMS r=mrbkap
...
The text deleted by this patch appears again verbatim directly above
the hunk's context.
2008-09-04 13:39:26 -07:00
David Anderson
b15e1fe4d3
Re-enabled the shell JIT as trace-tests and SunSpider pass again.
2008-09-04 11:59:06 -07:00
David Anderson
073cbf54c2
Improved AMD64 allocation for float ops that get stored back into memory.
2008-09-04 11:56:54 -07:00
David Anderson
5e828c58d4
Fixed float ops to deal with being handed an LHS GPR reservation on AMD64.
...
Fixed nanojit LIR verbosity crashing on AMD64.
2008-09-04 11:53:49 -07:00
David Anderson
ede63892f9
Disabled building AMD64 JIT in shell until regressions are tracked down. Fixed some compiling errors while I'm poking around here (bug 453674).
2008-09-04 10:58:35 -07:00
Neil Rashbrook
4625709517
Fixed nanojit not building on VC 7.1 (bug 453636, r=dvander).
2008-09-04 10:29:50 -07:00
Brendan Eich
2f9c49047e
Merge.
2008-09-04 01:21:49 -07:00
David Anderson
afe91e2757
Merge.
2008-09-03 23:28:27 -07:00
David Anderson
b791826dc5
Fixed JSOP_NEG with 0 being tracked as a promotable int, and added an equals-zero guard for the same opcode (bug 453049, r=gal).
2008-09-03 23:27:58 -07:00
Brendan Eich
d518e5c6a7
Missing guard for CallGetter builtin (453580, r=gal).
2008-09-03 22:42:41 -07:00
Brendan Eich
9657023ef6
Missing guard for CallGetter builtin (453580, r=gal).
2008-09-03 22:32:13 -07:00
Blake Kaplan
d9be63b689
Handle an interpreted constructor returning an object. r=brendan
2008-09-03 18:21:15 -07:00
Jason Orendorff
e3c32c3566
Bug 442086 - XPConnect creates doubles without checking for the INT_FITS_IN_JSVAL case (r=jst,sr=brendan)
2008-09-03 15:38:45 -05:00
Jason Orendorff
4dda6aa8e5
Bug 453383 - Confusing comment, bogus indentation in jsobj.cpp (r=mrbkap)
2008-09-03 15:30:13 -05:00
Jason Orendorff
445f7292b2
Bug 453105 - Error: setting a property that has only a getter on cars.com (r+sr=bzbarsky)
2008-09-03 15:28:13 -05:00
Taras Glek
8e0c84faf7
bug 453476: Some files didn't get compiled with -fno-exceptions. r=shaver
2008-09-03 10:53:36 -07:00
Benjamin Smedberg
89e10926d5
Bug 453341 - Allow stack checking to be suppressed per-function, r=dmandelin sr=jst
2008-09-03 13:00:12 -04:00
Andreas Gal
1d44de3cb6
Merge.
2008-09-03 01:22:07 -07:00
Andreas Gal
483b7fd5a1
Removed a bogus assert. Inner loops can exit on a goto in case we hit a break (453051).
2008-09-03 01:21:21 -07:00
Brendan Eich
4fa7c5195d
Put the trace-recording/executing flag in the trace monitor to handle many contexts per thread (451666, r=gal).
2008-09-03 00:38:24 -07:00
Andreas Gal
c466258c18
Limit tree growth to 16 traces per tree to avoid code explosion due to tail duplication (452869, r=danderson).
2008-09-02 23:52:11 -07:00
Andreas Gal
78b5b7fc05
Merge.
2008-09-02 23:11:51 -07:00
Andreas Gal
59b5581857
Add V8 benchmark suite.
2008-09-02 23:11:15 -07:00
Brendan Eich
3cd36a3b5f
Fix JS_THREADSAFE build, pick extern nit.
2008-09-02 23:00:23 -07:00
Vladimir Vukicevic
dfd7f72c0a
Fix up some ifdefs and debug printfs
2008-09-02 22:42:25 -07:00
Vladimir Vukicevic
a4ec50d569
Add VFP for floating point ops to nanojit ARM backend.
2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
628b27d198
Indentation sanity fixes; no code changes.
2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
2a520bab9f
Split NativeThumb.cpp into NativeThumb.cpp and NativeARM.cpp; no code changes.
2008-09-02 22:29:23 -07:00
Vladimir Vukicevic
420e72ed85
b=449526, TM: fix up ARM code generation / softfloat
2008-09-02 22:29:23 -07:00
Brendan Eich
e3916b316d
Teach js_IsLoopExit about JSOP_AND, JSOP_OR, etc. and separate extended jump cases so they can get the extended offsets.
2008-09-02 22:29:06 -07:00
Blake Kaplan
3d517dff43
Remove outdated comment. r=gal
2008-09-02 22:18:57 -07:00
Andreas Gal
f91071f139
Allocate the oracle dynamically instead of making it a global object to avoid atexit C compatibility issues (453388, r=danderson).
2008-09-02 21:56:22 -07:00
Taras Glek
b9b82a2bc3
bug 443286: avoid hidden return in CHECK_AND_SET_JUMP_OFFSET. r=igor
2008-09-02 20:50:19 -07:00
Brendan Eich
48926ba363
Fix bool FASTCALL vs. Nanojit calling convention bug, also some non-bool whoppers caught in the process (453361, r=mrbkap).
2008-09-02 15:37:22 -07:00
Brendan Eich
743793bc50
Fix warning pulled over from m-c (mrbkap will track down).
2008-09-02 15:30:42 -07:00
David Anderson
be89898254
Merge with mozilla-central.
2008-09-02 14:17:19 -07:00
Blake Kaplan
8f80eec070
Don't flush anything if we're not even enabled. r=gal
2008-09-02 14:02:13 -07:00
Taras Glek
c8962c44c2
bug 441362: Avoid an invisible return. r=igor
2008-09-02 13:32:27 -07:00
David Anderson
0af468fa80
Fixed accidental debugging change I pushed with changeset de2d26b3c902.
2008-09-02 12:36:23 -07:00
Ginn Chen
76f8dc0daf
On x86 compilers without fastcall, simulate it when invoking traces and un-simulate it when invoking builtins (bug 452390, r=dvander).
2008-09-02 11:43:55 -07:00
David Anderson
ceb2e8139c
Build fixes for MSVC 7.1 and mingw (bug 451881, patch from neil@parkwaycc.co.uk).
2008-09-02 10:28:14 -07:00
David Anderson
b6b115b496
Fix for building on FreeBSD (bug 452315, patch from Jeremy Lea).
2008-09-02 10:21:41 -07:00
David Anderson
1be49b5c2e
Use mmap() instead of valloc() in nanojit, abort on mprotect() failure (bug 451946, patch+r from Asko Tontti).
2008-09-02 10:15:26 -07:00
Andreas Gal
1d525db0e4
New attempt at fixing 453235. If building without JIT (like PPC/MacOSX), don't include the deep abort calls in jsinterp.cpp
2008-09-01 18:40:45 -07:00
Andreas Gal
1632042ed8
Merge.
2008-09-01 18:37:27 -07:00
Andreas Gal
4a36a6b709
Backed out changeset 25f856429db3. Wrong fix. Looks like jstracer.h is not included. We in fact can call methods of TraceRecorder directly. Sigh. I wish we had a try server.
2008-09-01 18:37:04 -07:00
Andreas Gal
d85543063d
Merge.
2008-09-01 18:33:05 -07:00
Andreas Gal
fe70cfea9b
Introduce js_DeepAbort to be used from jsinterp.cpp, instead of trying to call TraceRecorder->deepAbort directly (453235).
2008-09-01 18:32:41 -07:00
Brendan Eich
b3042b928d
Holey single-element dense array has null dslots, requires nulld defense (453173).
2008-09-01 13:59:30 -07:00
Brendan Eich
cda5a77a1b
Fast followup fix for unintended change to 'f' prefix handling in TraceRecorder::record_JSOP_NEW (452878).
2008-09-01 01:44:26 -07:00
Brendan Eich
5a8cb06838
Kind of an Array initialiser tour-de-force for bug 452878:
...
1. Split FastNewArray from FastNewObject built-in for greater speed/specialization and further splitting into Array_1str, etc.
2. Add Array_1str, Array_2obj, and Array_3num builtins for benchmarked new Array(...) constructions.
3. Export ARRAY_SET_DENSE_LENGTH and ARRAY_GROWBY via jsarray.h to jstracer.cpp.
4. Tweaked SetArrayElement to make common/best case code be the predicted/prefetched path.
5. js_MakeArraySlow now preserves the pre-slow length in JSSLOT_ARRAY_COUTN as a jsval-tagged int if possible -- this will help the tracer avoid aborting on dense arrays that turned slow but not sparse by addition of a named property.
6. Export js_fun_apply and js_Object from their respective .cpp files, in these cases just to jstracer.cpp via local prototypes (no .h files involved).
7. More INS_CONSTPTR and INS_CONST macrology for better names in trace debug spew.
8. Fix TraceRecorder::test_property_cache to avoid aborting on JSOP_SETNAME that creates a new global, by setting it to undefined so it can be lazily imported. This helps 3d-raytrace.js, which has an unintended global loop control variable in a function.
9. JSTraceableNative loses its premature-deadwood tclasp member (my bad).
10. TraceRecorder::record_JSOP_NEW() handles 'new Object' now along with the 'new Array' variations. I also cut down the copy-paste code from JSOP_CALL's record method to mostly what is needed now.
11. Add KNOWN_NATIVE_DECL macro for concise prototype of library-private js_* native functions, and alphabetized the lists (too long for any other order to be winning).
12. Big honking special case for foo.apply(obj, [str]), which we can generalize as needed. Helps string-tagcloud.js. What's cool is how tracing allows us to rewrite this to foo(str) with this set to obj, eliminating the Function.prototype.apply. This requires some rewriting in JSOP_ENDINIT's record method.
2008-09-01 01:24:58 -07:00
Robert Sayre
7cca7713be
Add tests containing switch statements
2008-08-30 19:35:38 -04:00
Robert Sayre
52a7fb0b98
Add test for more bitwise ops
2008-08-30 19:20:54 -04:00
Jesse Ruderman
1b5148d940
Bug 452905 - Make js_RecordTree printfs only appear with TRACEMONKEY=verbose. r=gal
2008-08-30 02:21:00 -07:00
Brendan Eich
c7604aac4c
- Support JSOP_CONDSWITCH's JSOP_CASE and extended-jump-offset JSOP_CASEX variants properly.
...
- Fix sleep-deprived constant conditions due to failure to test flags & CMP_TRY_BRANCH_AFTER_COND!
- Use new TraceRecorder::fuseIf that Andreas added in a few more places where the previous try-branch-after-cond logic was open-coded.
2008-08-30 00:01:59 -07:00
Blake Kaplan
2782b3de85
Fix gmail crash by not tracing switches. r=brendan
2008-08-29 19:01:00 -07:00
Blake Kaplan
219161a0aa
Abort (deeply) if we re-enter js_Interpret in the middle of a trace. r=brendan
2008-08-29 18:59:21 -07:00
Andreas Gal
ea15fc19ef
Fixed an signed/unsigned comparison warning in an assert in jstracer.cpp.
2008-08-29 17:54:39 -07:00
Andreas Gal
33c4a8e742
Merge.
2008-08-29 17:35:34 -07:00
Andreas Gal
113ad8babe
Add builtins for toLowerCase, toUpperCase and replace(str,str) (452885, r=mrbkap).
2008-08-29 17:35:00 -07:00
Brendan Eich
45ea54d2d1
Don't let GC run when recording.
2008-08-29 16:04:54 -07:00
Blake Kaplan
ee86ee3cf1
Bug 452329 - Fix a bad assumption. r=brendan
2008-08-29 16:03:18 -07:00
Blake Kaplan
48fb3e7f94
Bug 452875 - Ensure we intern the id for JSOP_IN. r=brendan
2008-08-29 15:59:09 -07:00
David Anderson
7515a0583e
Merge.
2008-08-29 15:38:05 -07:00
David Anderson
f720beb914
Fixed double-as-integer check not handling negative zero (bug 452170, r=gal).
2008-08-29 15:37:37 -07:00
Andreas Gal
f29178e950
Track number of breaks we generate loop exits for.
2008-08-29 15:29:55 -07:00
Andreas Gal
1e41ca88af
Long-form conditional branches (IFEQX, IFNEX) are never fused, so don't check for them in fuseIf.
2008-08-29 15:20:36 -07:00
Andreas Gal
57a8fae3d1
Merge.
2008-08-29 15:17:20 -07:00
Andreas Gal
9e7246a2b9
Track locations of control-flow merges in cfgMerges during recording (452869).
2008-08-29 15:12:17 -07:00
David Anderson
a2fdc866ff
Fixed assumptions that nanojit's insCall() would not clobber the input argument array (bug 452853, r=gal).
2008-08-29 14:22:21 -07:00
David Anderson
f10bd19c8e
Abort recording on invalid string indexes for JSOP_GETELEM (bug 452713, r=brendan).
2008-08-29 13:05:41 -07:00
Robert Sayre
f35adba372
Add tests covering division.
2008-08-29 13:04:08 -04:00
Robert Sayre
5d1f73ba74
Add tests for continue statement.
2008-08-29 11:01:56 -04:00
Brendan Eich
f92de94117
Fix bogus JOF_VARPROP test; fix uninitialized id in JSOP_IN recorder, should have caught it when I reviewed danderson's patch.
2008-08-29 00:58:10 -07:00
Brendan Eich
18d5749230
Fix upvar decompilation for eval-from-fun case (452441, r=igor).
2008-08-29 00:24:11 -07:00
Brendan Eich
655888f31e
Consolidate equal and cmp code harder, trace switch ops, use INS_CONST more (bug to be filed -- bugzilla down atm).
2008-08-28 23:50:48 -07:00
Andreas Gal
1115d0162b
Unroll loops we were not able to call once, but only if we don't have a tree available for that loop header.
2008-08-28 23:19:23 -07:00
Andreas Gal
535bdef3ee
Merge.
2008-08-28 22:34:14 -07:00
Andreas Gal
c263b7a218
Merge.
2008-08-28 22:33:45 -07:00
David Anderson
951c95658a
Fixed trying to record JSOP_IN with some unusuable left-hand values (bug 452724, r=brendan).
2008-08-28 22:33:32 -07:00
Andreas Gal
4fb4d1fdc5
Monitor downward branches only during recording (452709).
2008-08-28 22:33:22 -07:00
Brendan Eich
1f07d79c75
Abort trace if forInLoop values are not stable; currently, not strings (bug 452703).
2008-08-28 21:41:15 -07:00
Brendan Eich
25a591f870
Fixed bogus assertion in test_property_cache (bug 452693, r=dvander).
2008-08-28 21:15:39 -07:00
Jesse Ruderman
5663d9166a
Turn NANO_DIE macro into NanoAssertFail function so that it shows up in stack traces. Having it appear in stack traces makes it clear the exit was due to an assertion failure rather than a real crash. Followup to bug 452674.
2008-08-28 19:07:49 -07:00
Andreas Gal
aaf46f467e
Merge.
2008-08-28 17:47:11 -07:00
Andreas Gal
f10a08c384
Cleanup detection of gotos that were emitted as a result of a BREAK statement.
2008-08-28 17:46:25 -07:00
David Anderson
6ab07e371a
Merge.
2008-08-28 17:28:36 -07:00
David Anderson
d5e48e84d7
Added descriptive messages to always-taken assertions in Nativei386.cpp.
2008-08-28 17:27:29 -07:00
Jesse Ruderman
db3a854298
Fix NanoAssertMsgf in non-debug builds. Regression from my patch in bug 452674.
2008-08-28 17:15:51 -07:00