Commit Graph

43652 Commits

Author SHA1 Message Date
David Anderson
e7cd0a7538 [JAEGER] Precursor SETPROP IC work - shimmy top of stack down. 2010-06-21 19:34:18 -07:00
David Anderson
178ac0c976 [JAEGER] Fixed build. 2010-06-20 16:16:51 -07:00
David Anderson
68eadd08f9 [JAEGER] Re-added Dave Mandelin's GETPROP PIC stubs for string and array length (bug 572310, part 2). 2010-06-20 16:07:21 -07:00
David Anderson
a1983f037c [JAEGER] Use cheaper comparison for GETPROP type checks. 2010-06-20 13:17:45 -07:00
Sean Stangl
a879cc1e9e Redefine JSVAL type constants for one-comparison object, primitive check.
The following types are defined to have the upper mask bits set:
JSVAL_MASK16_NULL is 0x2000;
JSVAL_MASK16_NONFUNOBJ is 0x4000;
JSVAL_MASK16_FUNOBJ is 0x8000.

So each of IS_OBJECT(), IS_OBJECT_OR_NULL(), and IS_PRIMITIVE()
just requires one comparison, saving a bitwise AND.
2010-06-17 16:44:10 -07:00
Sean Stangl
d8f50a0f4e Redefine JSVAL_MASK16_INT32 to ((uint16)0x0001).
This permits isNumber() to just check <= JSVAL_MASK32_INT32,
since no number can have type JSVAL_MASK32_CLEAR (asserted).
2010-06-17 16:44:06 -07:00
David Anderson
884b494c29 [JAEGER] Re-added Dave Mandelin's polymorphic inline caches for GETPROP (bug 572310). 2010-06-19 21:58:55 -07:00
David Anderson
ff9eadf410 [JAEGER] Fast path for EQ,NE when one side is constant null or undefined. 2010-06-18 13:55:08 -07:00
David Anderson
4d054d48ba [JAEGER] Don't optimize escaping variables (bug 566022). 2010-06-18 11:07:15 -07:00
Sean Stangl
1c4a45fe74 [JAEGER] Change JSFrameReg to static const on advice from Luke. 2010-06-18 00:44:17 -07:00
David Anderson
cbe631e38a [JAEGER] Fixed regression in light frames. 2010-06-17 20:33:16 -07:00
David Anderson
d0cfbb0fad [JAEGER] Fixed bug in JSOP_UNBRANDTHIS. 2010-06-17 20:30:19 -07:00
David Anderson
8142533567 [JAEGER] Added JSOP_UNBRAND,UNBRANDTHIS. 2010-06-17 20:27:22 -07:00
David Anderson
fb49319458 [JAEGER] Lower var init and call obj creation into script prologue. 2010-06-17 18:36:30 -07:00
David Anderson
d5d0ad5d93 [JAEGER] Guard that calls have compiled code. 2010-06-17 18:36:28 -07:00
David Anderson
9c4e1303c3 [JAEGER] Merge from fatval branch. 2010-06-17 13:22:59 -07:00
David Anderson
993e3687a3 [JAEGER] Disabled accidental debug instrumentation. 2010-06-17 01:15:36 -07:00
David Anderson
c1bfa098ce [JAEGER] Added fast-paths for STRICTEQ.NE and boolean literals. 2010-06-17 01:05:50 -07:00
David Anderson
8aba3afc06 [JAEGER] Fast-paths for STRICTEQ,NE when undefined or null are used. 2010-06-17 00:29:28 -07:00
David Anderson
335d797ee4 [JAEGER] Add fast-path for JSOP_THIS. 2010-06-16 18:15:23 -07:00
David Mandelin
cded156f8e Bug 569651: add test case that formerly asserted, but is now WFM 2010-06-16 18:14:37 -07:00
David Anderson
7ab3717436 [JAEGER] Added stub call profiling. 2010-06-16 17:53:35 -07:00
Sean Stangl
e38df23094 [JAEGER] Merge. 2010-06-16 15:33:21 -07:00
Sean Stangl
ce760eead5 [JAEGER] Define temporary FPRegisters.
Defines FPRegisters::First and FPRegisters::Second,
temporary FPRegisters that are always synced to memory.

This will hopefully eventually be obsoleted by having
a FPRegister allocator, once FrameState changes are done.
2010-06-16 15:32:30 -07:00
David Anderson
863fc7bfde [JAEGER] Split JSOP_CALL into more decisions, removed primitive-this check on returns. 2010-06-16 15:21:39 -07:00
David Mandelin
29432cfcd1 Bug 572285: remove spurious assert 2010-06-16 11:22:14 -07:00
Sean Stangl
aafbf3565f [JAEGER] Implement x86/x86_64 xorDouble(); (571743, r=dvander). 2010-06-16 10:47:42 -07:00
David Anderson
9e532246ad [JAEGER] Merge. 2010-06-16 01:16:17 -07:00
David Anderson
bc20a29586 [JAEGER] Inline scripted returns. 2010-06-16 01:16:07 -07:00
Sean Stangl
fb862c18e6 [JAEGER] Rename some functions to make namespace for FPRegisters; (572202, r=dvander). 2010-06-15 18:24:31 -07:00
David Anderson
5285f49ef5 [JAEGER] Fixed memory corruption bug found by Gary Kwong. 2010-06-15 18:23:16 -07:00
David Mandelin
cf66245838 Bug 572229: atomize strings passed to js_HasNamedProperty 2010-06-15 16:00:16 -07:00
David Mandelin
d352690926 Bug 572042: get tracing+fat values to build in the browser. As part of this I disabled the quickstub traceable natives. According to Andreas, we don't necessarily need them for good perf now that we can call the standard quickstub from trace. This build works on simple JS, but there are still bugs (e.g., Google Maps asserts). 2010-06-15 15:43:41 -07:00
Sean Stangl
a6ef9f95cc [JAEGER] Implement integer fast path for multiplication; (572081, r=dvander).
ARM multiplication always uses the slow path for now.
2010-06-15 10:46:01 -07:00
David Anderson
a552b1c8e7 [JAEGER] Added fast-path for JSOP_GETELEM. 2010-06-15 03:46:44 -07:00
Sean Stangl
3ad293a3f4 [JAEGER] Fast paths for integer addition, subtraction; (572081, r=dvander). 2010-06-15 03:16:30 -07:00
Sean Stangl
9e77669f47 [JAEGER] testDouble() should emit an unsigned comparison. 2010-06-15 02:46:56 -07:00
Sean Stangl
00de27cae9 [JAEGER] Fix BITOR, BITXOR. 2010-06-15 02:42:08 -07:00
David Anderson
003df04dec [JAEGER] Rewrite state reification for side exits. 2010-06-15 01:40:39 -07:00
David Anderson
a0047931d5 [JAEGER] Added fast-path for JSOP_SETELEM. 2010-06-15 01:40:36 -07:00
David Mandelin
f2f3967750 Bug 572029: fully specialize for unboxing most numbers 2010-06-14 17:26:59 -07:00
Luke Wagner
e54fb2ea80 Make UnboxDoubleHelper extern to match friend declaration 2010-06-14 14:46:31 -07:00
David Mandelin
94e6c8a2cc Bug 571625: bring back box-after-unbox optimization for tracing with fatvals 2010-06-14 14:24:30 -07:00
Andrew Drake
e0cf7c0a56 Merge. 2010-06-14 14:03:53 -07:00
David Anderson
e260a83f6c [JAEGER] Fixed build. 2010-06-14 13:44:06 -07:00
David Anderson
750be487c8 [JAEGER] Merge. 2010-06-14 13:36:20 -07:00
David Anderson
bc2301898a [JAEGER] Merge. 2010-06-14 13:36:05 -07:00
David Anderson
6ce58480af [JAEGER] Added monomorphic inline caches for SETGNAME. 2010-06-14 13:35:47 -07:00
Andrew Drake
53ecdbb058 [JAEGER] Fix --disable-methodjit build, rs=dmandelin 2010-06-14 13:33:19 -07:00
David Mandelin
e645d90105 Build fixes for opt browser 2010-06-14 13:11:59 -07:00