Commit Graph

60 Commits

Author SHA1 Message Date
Sean Stangl
0301a8bf15 [JAEGER] Eliminate redundant guard when lhs and rhs have same backing; (578303, r=dvander). 2010-07-13 02:01:54 -07:00
Sean Stangl
714fefa9b1 [JAEGER] Fast-path boolean for JSOP_IFEQ, JSOP_IFNE; (577973, r=dvander). 2010-07-11 18:48:36 -07:00
David Anderson
f9aa2e7207 [JAEGER] Remove some stores from slow links. 2010-07-07 18:13:42 -07:00
David Anderson
99c8602803 [JAEGER] Remove unnecessary fast-path stores that are rooted by conservative GC. 2010-07-07 18:13:40 -07:00
Sean Stangl
68723725a7 [JAEGER] Implement boolean guard for JSOP_AND and JSOP_OR; (575766, r=dvander). 2010-07-06 01:10:18 -07:00
David Anderson
0ddb5ebacc [JAEGER] Unbroke build, merge merge merge. 2010-07-05 20:14:42 -07:00
David Anderson
fa56975c91 [JAEGER] PIC for JSOP_BINDNAME. 2010-07-05 01:12:18 -07:00
David Anderson
bd89a0cfdf [JAEGER] Added fast-path for JSOP_OBJTOSTR. 2010-07-03 13:21:23 -07:00
David Anderson
3487c67a9d [JAEGER] Fixed bug in JSOP_POS. 2010-07-03 13:13:20 -07:00
David Anderson
3d36343449 [JAEGER] Convert FrameState to use types, not tags. 2010-07-01 01:17:42 -07:00
David Anderson
9c55bbcdbc [JAEGER] Merge from fatval. 2010-06-30 11:46:07 -07:00
Sean Stangl
c0dd563e9c [JAEGER] Output better code in jsop_not(); (575227, r=dvander). 2010-06-28 11:58:40 -07:00
David Anderson
4ce6828361 [JAEGER] Update FORLOCAL fast-path for jsid iteration. 2010-06-28 11:49:37 -07:00
Sean Stangl
2cab35aba7 [JAEGER] Implement double (inline) + int (ool) fast-paths for JSOP_NEG.
The results of this patch are currently dubious:
3d-morph gets significant improvement (1.22x), but most other tests
are slowed. In total, there is a 2ms improvement locally for SunSpider.

However, jsop_neg() is much simpler code than jsop_binary(),
so it is useful to exist during the FrameState tweaking.
Comments have been left to be helpful during this process.
2010-06-26 06:50:21 -07:00
Sean Stangl
3eb7920074 [JAEGER] Implement int+double arithmetic fast-paths. 2010-06-25 18:23:35 -07:00
David Anderson
714f19d3e3 [JAEGER] Peephole optimize stores away for localinc. 2010-06-25 16:45:21 -07:00
David Anderson
cc3ce07f82 [JAEGER] More fast-paths for NOT. 2010-06-24 15:28:30 -07:00
David Anderson
0a0f76d454 [JAEGER] Update JM2 for fatval merge. 2010-06-24 14:17:08 -07:00
David Anderson
ab63b0c9ce [JAEGER] Use PICs for PROPINC and friends. 2010-06-23 23:40:38 -07:00
David Anderson
264aaca0a9 [JAEGER] Infer that an addition with a string will result in a string. 2010-06-22 23:18:53 -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
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
Sean Stangl
fb862c18e6 [JAEGER] Rename some functions to make namespace for FPRegisters; (572202, r=dvander). 2010-06-15 18:24:31 -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
00de27cae9 [JAEGER] Fix BITOR, BITXOR. 2010-06-15 02:42:08 -07:00
David Anderson
a0047931d5 [JAEGER] Added fast-path for JSOP_SETELEM. 2010-06-15 01:40:36 -07:00
Sean Stangl
2f941c5f22 [JAEGER] Rename FpReg to JSFrameReg; r=dvander. 2010-06-12 19:11:00 -07:00
Sean Stangl
8ff57facfa [JAEGER] Use frame.testInt32() instead of masm.testInt32(); r=dvander. 2010-06-11 22:07:10 -07:00
David Anderson
f6b0dbf8c8 [JAEGER] Fix build. 2010-06-10 22:20:30 -07:00
David Anderson
20b5f6469a [JAEGER] Added JSOP_LOCALINC,LOCALDEC,INCLOCAL,DECLOCAL. 2010-06-10 20:08:17 -07:00
David Anderson
91a1779e5c [JAEGER] Added JSOP_ARGINC,ARGDEC,INCARG,DECARG. 2010-06-10 17:29:57 -07:00
David Anderson
026b378fe1 [JAEGER] Added JSOP_INITMETHOD; fixed JSOP_RSH bug; fixed JSOP_MOREITER bug. 2010-06-08 22:54:16 -07:00
David Anderson
6448864847 [JAEGER] Fixed bug when RHS of shift was 0. 2010-06-08 22:27:28 -07:00
David Anderson
1177477dd0 [JAEGER] Added JSOP_TYPEOF. 2010-06-06 00:34:14 -07:00
David Anderson
5af47cbec1 [JAEGER] Added JSOP_NOT. 2010-06-05 21:20:34 -07:00
David Anderson
0fd1118fae [JAEGER] Added JSOP_BITNOT. 2010-06-05 17:21:56 -07:00
David Anderson
8bb2f61b44 [JAEGER] Quell GCC warning. 2010-06-05 16:32:57 -07:00
David Anderson
cc13ff932c [JAEGER] Added JSOP_BITOR. 2010-06-05 16:32:12 -07:00
David Anderson
7c6f4d702b [JAEGER] Added JSOP_BITXOR. 2010-06-05 15:27:56 -07:00
David Anderson
15bafd4e40 [JAEGER] Added JSOP_OBJTOSTR. 2010-06-05 15:20:36 -07:00
David Anderson
1884924c8f [JAEGER] Added JSOP_NEG. 2010-06-05 14:26:00 -07:00
David Anderson
7c056b3f2f [JAEGER] Make sure to flip EQ/NE test when fusing with IFEQ. 2010-06-04 19:29:43 -07:00
David Anderson
3dff010f52 [JAEGER] Added JSOP_LSH, JSOP_RSH. 2010-06-03 23:05:32 -07:00
Sean Stangl
26f684c3d7 [JAEGER] Implement JSOP_EQ, JSOP_NE; r=dvander 2010-06-03 21:29:03 -07:00
David Anderson
d203d9aee3 [JAEGER] Allocate registers for local variables (GET/SETLOCAL). 2010-06-02 18:57:52 -07:00
David Anderson
b2c052e23b [JAEGER] Fixed crash where tail of slow fused compare op ran overboard. 2010-06-02 15:57:36 -07:00
David Anderson
18209b07ab [JAEGER] Added JSOP_LT,LE,GT,GE,STRING with fast-paths. 2010-05-31 22:44:00 -07:00