Commit Graph

43660 Commits

Author SHA1 Message Date
David Anderson
4e21a7e40e [JAEGER] Use PIC for instanceof's obj.prototype fetch. 2010-06-22 16:21:21 -07:00
David Anderson
408c243f13 [JAEGER] Fixed nits from branding fix. 2010-06-22 15:09:07 -07:00
David Anderson
f4a612c01c [JAEGER] Cache atom in PIC directly, instead of index, for simplicity. 2010-06-22 15:07:10 -07:00
David Anderson
7965d753a3 [JAEGER] Tighten method barrier test in SETPROP pic. 2010-06-22 14:50:22 -07:00
David Anderson
d31caee286 [JAEGER] Fixed SETPROP PIC not maintaining branding invariants. 2010-06-22 14:45:16 -07:00
David Anderson
56bdd8b4f7 [JAEGER] Allow patching of the inline path after generating stubs. 2010-06-22 13:32:55 -07:00
David Anderson
a6a668c9d3 [JAEGER] Enabled SETPROP PIC, slow path now takes property cache. 2010-06-21 19:41:29 -07:00
David Anderson
39aff71e4a [JAEGER] Precursor work for Dave Mandelin's SETPROP IC (bug 572310). 2010-06-21 19:34:20 -07:00
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