Commit Graph

193753 Commits

Author SHA1 Message Date
Brendan Eich
e65f8a0ec7 js_ for library-extern names like math_sin. 2008-07-12 12:35:36 -07:00
shaver@mozilla.org
d21c77279f initialize traceMonitor in threadsafe builds 2008-07-12 09:57:23 -04:00
shaver@mozilla.org
d7595f89c6 Guard against subzero array indices 2008-07-12 09:04:58 -04:00
Andreas Gal
80d5f05679 Demote fneg to neg if input is known to be an integer (untested). 2008-07-12 00:34:10 -07:00
Andreas Gal
2f965da0c9 Merge. 2008-07-12 00:28:28 -07:00
Andreas Gal
f7f769f703 5 hours of debugging, and 9 keystrokes to fix it. That was one expensive bug. shaver's reduced fannkuch example works now. I think independently of this one we don't check properly for index underflow in dense arrays. Shaver is going to have to take a look at that (this fix makes fannkuch indexes not become negative, but doesn't explain why we crash so hard if they do become negative). 2008-07-12 00:27:21 -07:00
shaver@mozilla.org
5b55a4d4e7 add JSOP_NEG and tests 2008-07-12 00:20:48 -04:00
shaver@mozilla.org
b095935e2a add Math.cos and Math.pow to the specialized-call party, and add tests 2008-07-12 00:03:33 -04:00
shaver@mozilla.org
5bc840f84d I will remember that stacked values are not boxed.
I will remember that stacked values are not boxed.
I will remember that stacked values are not boxed.
I will remember that stacked values are not boxed.
2008-07-11 23:04:29 -04:00
shaver@mozilla.org
edd9236cfd Specialized tracing of Math.sin, as a proof of concept. Doesn't quite work due to regalloc mismatch, but close! 2008-07-11 22:59:09 -04:00
shaver@mozilla.org
5997f0f6d1 merge 2008-07-11 20:59:48 -04:00
shaver@mozilla.org
131566085f Incomplete stab at CALLPROP, added ABORT_TRACE for better diagnostics, make math_sin non-static in preparation for specializing call. 2008-07-11 20:59:10 -04:00
Brendan Eich
dc80ab1899 Nits: avoid (double-)over-parenthesization, underhang extra args to start in same column as first. 2008-07-11 15:36:20 -07:00
shaver@mozilla.org
469722c66c add reduced fannkuch version 2008-07-11 17:47:51 -04:00
Andreas Gal
0e0aa2426d Print meaningful filename/line-number info for trace entry/exit. 2008-07-11 13:57:16 -07:00
Andreas Gal
7db02022b6 Report the source location when recording a trace. 2008-07-11 13:45:38 -07:00
Andreas Gal
301d3557a1 Don't demote u2f conversions and sink the type cast into the side exit type map, because this loses the sign bit for unsigned values. We could fix this by adding an explicit unsigned type to the map, but for now I think we should stick to int/double only since there is the risk of fanning out trees. Crypto doesn't seem to use ush all that much so we should be ok performance-wise. 2008-07-11 13:18:29 -07:00
shaver@mozilla.org
3c0fe29055 Windows cares a lot more about where FASTCALL is; such a sensitive platform 2008-07-11 11:40:07 -04:00
shaver@mozilla.org
139ef8227d begone, cat nspr/Version error noise 2008-07-11 11:20:44 -04:00
shaver@mozilla.org
2569788e27 set some more config bits for Windows, mostly blindly 2008-07-11 11:02:14 -04:00
shaver@mozilla.org
4d0b323d47 turn on all the shift tests, and find a bug with it! 2008-07-11 10:50:57 -04:00
Andreas Gal
c9cc6c5f45 Brendan fixed global variable access in non-top level code so re-enable that in trace-test.js. We pass all of shaver's trace torture tests. 2008-07-11 00:53:06 -07:00
Andreas Gal
6d574df7af Poking around in the arm code, trying to make it not die miserabily with BUILD_OPT=1. 2008-07-11 00:46:44 -07:00
Andreas Gal
e58f7ed9d8 Still trying to get the ARM register updating right. 2008-07-11 00:31:48 -07:00
Andreas Gal
3f4882a830 Trying to make arm work. Flying blind here. 2008-07-10 22:35:06 -07:00
Andreas Gal
4b5a8a918c Adjust sp/ip for ARM. Very useful when trying to run on ARM. 2008-07-10 22:29:06 -07:00
shaver@mozilla.org
f47e82b2de some ARM stuff 2008-07-11 01:27:06 -04:00
Andreas Gal
9139b65106 Merge (no, really, can someone teach Mercurial to not do this?). 2008-07-10 22:12:04 -07:00
Andreas Gal
556bf3f96f Output the value if we can't enter a trace because of a type mismatch. 2008-07-10 22:10:02 -07:00
Brendan Eich
53883bfbf4 1. Fix !JS_THREADED_INTERP bugs in BRANCH and recording switch case generation.
2. Rename TraceRecorder op methods to record_JSOP_xxx to avoid shadowing JSOP_*
   enumerators used inside jsopcode.h macros -- death to ::JSOP_*!
3. Added atoms TraceRecorder member for giant literal pool scripts.
4. Condition assert in TraceRecorder::test_property_cache_direct_slot to avoid
   false positive when executing function code accessing a global.
2008-07-10 21:55:09 -07:00
shaver@mozilla.org
a753eda39f here, have a _working_ Thumb back-end 2008-07-11 00:45:54 -04:00
shaver@mozilla.org
e47a75e65c here, have a Thumb back-end 2008-07-11 00:40:26 -04:00
Andreas Gal
b6707f6c19 Don't crash when expecting an int32 as double box in unbox but getting something else (and better debug output). 2008-07-10 21:23:32 -07:00
shaver@mozilla.org
c0366e9b30 only build JIT builtins if ENABLE_JIT, and lose antique *inlines.h 2008-07-11 00:10:27 -04:00
Andreas Gal
90c5b152e7 Merge. 2008-07-10 20:35:40 -07:00
Andreas Gal
20f942f5f0 IFEQ and IFNE are identical for us. We just expect the same boolean on the stack and side exit if not. 2008-07-10 20:35:19 -07:00
shaver@mozilla.org
7b70cff612 Build the JIT by default if we're on x86, and control enabling it for content
via javascript.options.content_jit.
2008-07-10 23:05:27 -04:00
shaver@mozilla.org
3a894689a8 don't include jstracer.h (and thus nanojit, etc.) if not building with JS_TRACER 2008-07-10 22:19:15 -04:00
shaver@mozilla.org
ccab8cc3f3 use a type that windows knows about for offset computation 2008-07-10 22:17:41 -04:00
shaver@mozilla.org
ecfdf28842 try to get alloca on Windows; remind me to strip these flailing commits before we merge 2008-07-10 22:10:48 -04:00
shaver@mozilla.org
fd8b6334ac my turn to merge; had to happen eventually 2008-07-10 21:44:41 -04:00
shaver@mozilla.org
ff932a53d8 disable tracer for platforms not supported by nanojit 2008-07-10 21:43:05 -04:00
Andreas Gal
5e77678d2a shaver's favorite operating system of choice doesn't like templates, so de-template tracker since we use it with LInsp only anyway. 2008-07-10 18:42:04 -07:00
shaver@mozilla.org
03fde28ae1 some better OS_CFLAGS for Linux 2008-07-10 21:38:47 -04:00
shaver@mozilla.org
b010bb1781 support non-JS_TRACER builds 2008-07-10 21:38:26 -04:00
shaver@mozilla.org
6ec66f18d6 try to make alloca work for Windows 2008-07-10 21:37:49 -04:00
David Anderson
3a3cd06c43 Actually fixed ifeq/ifne fusion now. 2008-07-10 17:54:19 -07:00
Andreas Gal
c9bf6a6091 Merge. 2008-07-10 17:42:25 -07:00
shaver@mozilla.org
b0ad41b5ab fix opcode math with the mighty hammer of casting 2008-07-10 20:41:55 -04:00
Andreas Gal
bc8f19facf Merge. 2008-07-10 17:41:45 -07:00