Brendan Eich
6216536537
Merge.
2008-07-12 23:44:23 -07:00
shaver@mozilla.org
8bf6f691ce
fix the secondary map-native guard
2008-07-13 00:09:24 -04:00
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