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