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 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 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
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 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
Sean Stangl
22449ee4d8
[JAEGER] Fix backwards comparison on masm.testDouble().
2010-06-14 12:56:19 -07:00
David Anderson
56a7c58d38
[JAEGER] Merge.
2010-06-12 19:16:33 -07:00
Sean Stangl
2f941c5f22
[JAEGER] Rename FpReg to JSFrameReg; r=dvander.
2010-06-12 19:11:00 -07:00
David Anderson
297eb1af31
[JAEGER] Added monomorphic inline cache for reads of unbound globals.
2010-06-12 19:00:30 -07:00
David Anderson
82d98ad449
[JAEGER] Predict unbound names as being on the global object (bug 564949).
2010-06-12 19:00:27 -07:00
Sean Stangl
b616a53aee
[JAEGER] Define FPRegisters struct; r=dvander.
2010-06-12 18:37:34 -07:00
Sean Stangl
2a5a91c2c0
[JAEGER] Rename alloc() to allocReg(); r=dvander.
...
This patch is in preparation for making a distinction between
registers and floating-point registers for double fastpaths.
2010-06-12 18:26:36 -07:00
Sean Stangl
8ff57facfa
[JAEGER] Use frame.testInt32() instead of masm.testInt32(); r=dvander.
2010-06-11 22:07:10 -07:00
Sean Stangl
1662a83587
[JAEGER] Implement testDouble(); r=dvander.
2010-06-11 21:27:56 -07:00
Sean Stangl
3751e1ceaf
[JAEGER] Permit FrameState::copyData() with copied FrameEntries; r=dvander.
2010-06-11 21:27:52 -07:00
David Anderson
7b6d3db650
[JAEGER] Merge.
2010-06-11 14:11:04 -07:00
David Anderson
b79115e765
[JAEGER] Optimize how atoms are passed to NAME, CALLNAME, and SETNAME.
2010-06-11 14:10:43 -07:00
Andrew Drake
a25e9507f4
[JAEGER] Fix Win32 build. r=dvander
2010-06-11 11:24:39 -07:00
David Anderson
3bbb12b82b
[JAEGER] Added JSOP_ELEMINC,ELEMDEC,INCELEM,DECELEM.
2010-06-10 23:10:15 -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
df8cd25dd9
[JAEGER] Implemented re-loads of copies while syncing in slow paths.
2010-06-10 19:17:09 -07:00
David Anderson
ee80a9426c
[JAEGER] Added JSOP_SETRVAL, JSOP_RETRVAL.
2010-06-10 17:30:00 -07:00
David Anderson
aa81593c46
[JAEGER] Try to find unsynced registers to perform copies in side exits.
2010-06-10 17:29:58 -07:00
David Anderson
91a1779e5c
[JAEGER] Added JSOP_ARGINC,ARGDEC,INCARG,DECARG.
2010-06-10 17:29:57 -07:00
Sean Stangl
77d79f4a31
[JAEGER] Fix handling copied FrameEntries; r=dvander.
2010-06-10 16:56:58 -07:00
David Anderson
858278d975
[JAEGER] Merge from fatval branch.
2010-06-10 14:01:11 -07:00
David Anderson
48bdd8875c
[JAEGER] Added JSOP_TABLESWITCH.
2010-06-10 13:37:37 -07:00
David Anderson
f05461c221
[JAEGER] Added JSOP_LOOKUPSWITCH.
2010-06-10 13:24:19 -07:00
David Anderson
ba5aa9dd19
[JAEGER] Make syncFancy() resume properly.
2010-06-09 22:33:54 -07:00
David Anderson
be3dcd19fc
[JAEGER] Improve register allocation when merge-syncing copies.
2010-06-09 22:28:12 -07:00
David Anderson
4e28dc4af8
[JAEGER] Fixed bug in JSOP_BINDNAME.
2010-06-09 13:55:32 -07:00
David Anderson
b62bed481e
[JAEGER] New JSOP_CALLPROP.
2010-06-09 12:55:41 -07:00
David Anderson
43b26ccbf8
[JAEGER] Tiny fix-ups.
2010-06-09 01:46:07 -07:00
David Anderson
dfa571f425
[JAEGER] Added JSOP_EXCEPTION, JSOP_SETLOCALPOP.
2010-06-09 01:32:40 -07:00
David Anderson
3080b62639
[JAEGER] Added JSOP_ENTERBLOCK, JSOP_LEAVEBLOCK, and support for |let|.
2010-06-09 01:03:58 -07:00
David Anderson
e1c7b826cf
[JAEGER] Added JSOP_TYPEOFEXPR.
2010-06-08 22:58:10 -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
7eb912feff
[JAEGER] Added JSOP_ARGCNT, fixed bug in PROPDEC.
2010-06-08 22:02:09 -07:00
David Anderson
f251a97d3c
[JAEGER] Added JSOP_INSTANCEOF.
2010-06-08 21:46:38 -07:00
David Anderson
a385f71677
[JAEGER] Added JSOP_CALLGLOBAL.
2010-06-08 21:38:33 -07:00
David Anderson
aa5188d6af
[JAEGER] Added JSOP_ARGUMENTS.
2010-06-08 21:34:46 -07:00
David Anderson
0cf3d36ae0
[JAEGER] Merge.
2010-06-08 21:25:29 -07:00
David Anderson
b27a0b5634
[JAEGER] Added JSOP_LAMBDA_FC.
2010-06-08 21:24:19 -07:00
Sean Stangl
fae3fce758
[JAEGER] Spew inlined opcodes; r=dvander.
2010-06-08 19:18:18 -07:00
David Anderson
87ecc149b0
[JAEGER] Added JSOP_TRY.
2010-06-08 19:03:32 -07:00
David Anderson
00c259c9c9
[JAEGER] Added JSOP_FORNAME.
2010-06-08 18:55:12 -07:00
David Anderson
42f530b5f7
[JAEGER] Added JSOP_THROW.
2010-06-08 18:45:42 -07:00
David Anderson
0e59578e0c
[JAEGER] Added JSOP_CALLELEM, fixed bug in JSOP_CALLNAME.
2010-06-08 18:40:26 -07:00
David Anderson
b7162925a0
[JAEGER] Added JSOP_GETXPROP.
2010-06-08 18:18:11 -07:00
David Anderson
674313aca9
[JAEGER] Added JSOP_PUSH.
2010-06-08 18:16:36 -07:00
David Anderson
1d2c54e953
[JAEGER] Added JSOP_LINENO.
2010-06-08 18:13:46 -07:00
David Anderson
c44abdcb06
[JAEGER] Added JSOP_EVAL, JSOP_APPLY.
2010-06-08 18:12:33 -07:00
David Anderson
ef9ba19ba0
[JAEGER] Fixed regalloc bug where eviction could re-sync.
2010-06-08 17:59:15 -07:00
Sean Stangl
54d4bab987
[JAEGER] Implement JSOP_LENGTH; r=dvander.
2010-06-08 16:28:17 -07:00
Sean Stangl
6e9131b6eb
[JAEGER] Implement JSOP_CALLPROP; r=dvander.
2010-06-08 16:28:13 -07:00
Andrew Drake
eba8539f0d
Merge.
2010-06-07 23:58:42 -07:00
Andrew Drake
3f53cbb073
[JAEGER] Generalize operation callback mechanism and implement for methodjit, r=dvander
2010-06-07 23:55:13 -07:00
David Anderson
a1eb218fc2
[JAEGER] Fix build.
2010-06-07 19:32:59 -07:00
David Anderson
c861c54c87
[JAEGER] Added JSOP_SETMETHOD.
2010-06-07 19:25:23 -07:00
David Anderson
39e26b6da1
[JAEGER] Added JSOP_PROPINC,PROPDEC,INCPROP,DECPROP.
2010-06-07 19:23:25 -07:00
David Anderson
b884c72a44
Merge.
2010-06-07 16:45:14 -07:00
David Anderson
0acdab7b8b
[JAEGER] Added JSOP_CALLLOCAL.
2010-06-07 16:44:25 -07:00
Sean Stangl
4dcf214e5c
[JAEGER] Move redundant code to jsop_getprop_slow(); r=dvander.
2010-06-07 16:43:45 -07:00
Sean Stangl
9592877ac7
[JAEGER] Implement JSOP_SETPROP, JSOP_GETPROP, and associated ops; r=dvander.
2010-06-07 16:32:26 -07:00
David Anderson
64882231ed
[JAEGER] Added JSOP_CONCATN.
2010-06-06 00:49:46 -07:00
David Anderson
54b2c073e5
[JAEGER] Added JSOP_STRICTEQ, JSOP_STRICTNE.
2010-06-06 00:41:57 -07:00
David Anderson
1177477dd0
[JAEGER] Added JSOP_TYPEOF.
2010-06-06 00:34:14 -07:00
David Anderson
4fa75d61e6
[JAEGER] Added JSOP_FORLOCAL, JSOP_MOREITER, JSOP_ENDITER.
2010-06-05 23:54:56 -07:00
David Anderson
ebd08a0fb3
[JAEGER] Added JSOP_ITER.
2010-06-05 21:42:25 -07:00
David Anderson
50d4d4eb78
[JAEGER] Added JSOP_INITPROP.
2010-06-05 21:35:07 -07:00
David Anderson
5af47cbec1
[JAEGER] Added JSOP_NOT.
2010-06-05 21:20:34 -07:00
David Anderson
6fd3673dd5
[JAEGER] Added JSOP_OR, JSOP_AND.
2010-06-05 19:25:54 -07:00
David Anderson
71219c36fb
[JAEGER] Added JSOP_INCNAME,DECNAME,NAMEINC,NAMEDEC.
2010-06-05 19:06:39 -07:00
David Anderson
15245f0d9a
[JAEGER] Fixed bug in SetName handling.
2010-06-05 18:24:03 -07:00
David Anderson
ebc66018d0
[JAEGER] Added JSOP_LAMBDA.
2010-06-05 18:17:41 -07:00
David Anderson
5eddc9e757
[JAEGER] Added JSOP_REGEXP.
2010-06-05 18:08:26 -07:00
David Anderson
58c8662b7b
[JAEGER] Added JSOP_SETARG.
2010-06-05 18:01:06 -07:00
David Anderson
dd8e9d257f
[JAEGER] Added JSOP_DEFLOCALFUN.
2010-06-05 17:56:28 -07:00
David Anderson
6caf036c24
[JAEGER] Added JSOP_GETUPVAR, JSOP_CALLUPVAR.
2010-06-05 17:40:42 -07:00
David Anderson
646a599539
[JAEGER] Added JSOP_URSH.
2010-06-05 17:26:19 -07:00
David Anderson
0fd1118fae
[JAEGER] Added JSOP_BITNOT.
2010-06-05 17:21:56 -07:00
David Anderson
50f045e244
[JAEGER] Added JSOP_INITELEM.
2010-06-05 16:45:48 -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
33f5c65fe2
[JAEGER] Fixed register allocation bug with copies.
2010-06-05 16:32:05 -07:00
David Anderson
e5e8f01db0
[JAEGER] Added JSOP_NEWINIT, JSOP_ENDINIT.
2010-06-05 16:08:27 -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
72c6ddb69d
[JAEGER] Added JSOP_GETDSLOT, JSOP_CALLDSLOT.
2010-06-05 14:48:26 -07:00
David Anderson
6895923093
[JAEGER] Added JSOP_DUP2.
2010-06-05 14:38:10 -07:00
David Anderson
b5f91c1f7c
[JAEGER] Added JSOP_DUP.
2010-06-05 14:32:53 -07:00
David Anderson
1884924c8f
[JAEGER] Added JSOP_NEG.
2010-06-05 14:26:00 -07:00
David Anderson
e0f4979989
[JAEGER] Fixed warnings.
2010-06-05 12:27:50 -07:00
David Anderson
907f512ff2
[JAEGER] Workaround for register exhaustion on safe point spills.
2010-06-05 03:52:00 -07:00
David Anderson
b82e2162a8
[JAEGER] Dual mapping between tracker and FE stack to hold copy invariants better and faster.
2010-06-05 03:26:31 -07:00
David Anderson
4db1dbc3d7
[JAEGER] Removed unused member variable.
2010-06-05 01:59:34 -07:00
David Anderson
7b5472464b
[JAEGER] Fixed stupid typo.
2010-06-05 01:55:50 -07:00
David Anderson
4fb3d04534
[JAEGER] Track FEs instead of indexes - preparation for more regalloc fixes.
2010-06-05 00:31:59 -07:00
David Anderson
f95234d329
[JAEGER] Added JSOP_THIS.
2010-06-04 23:14:20 -07:00
David Anderson
0e663fe6c0
[JAEGER] Added JSOP_NEWARRAY.
2010-06-04 22:38:54 -07:00
David Anderson
b3d4470682
[JAEGER] Fixed build.
2010-06-04 22:18:38 -07:00
David Anderson
b23b0f93d4
[JAEGER] Added JSOP_NEW.
2010-06-04 20:02:21 -07:00
David Anderson
69cdfac1b8
[JAEGER] Fixed build.
2010-06-04 19:33:16 -07:00
David Anderson
573bea6910
Merge.
2010-06-04 19:32:38 -07:00
David Anderson
ccfc1a5aa6
[JAEGER] Added JSOP_ADD,SUB,MUL,DIV,MOD.
2010-06-04 19:31:46 -07:00
David Anderson
9dd620f1d5
[JAEGER] Implement SETLOCAL when copied entries are involved.
2010-06-04 19:31:44 -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
Sean Stangl
64a6b3d9c7
[JAEGER] Change SetElem,GetElem to use ValueToObject(); re=dvander.
2010-06-04 16:47:46 -07:00
Sean Stangl
3293d7ad4d
[JAEGER] Implement JSOP_GETELEM, JSOP_SETELEM; r=dvander.
2010-06-04 15:54:19 -07:00
David Anderson
46c6541654
Backed out changeset 820c2007cf35
2010-06-04 15:13:11 -07:00
David Anderson
7023c8aa22
[JAEGER] hot-fix for regalloc bug - incorrect, proper fix forthcoming.
2010-06-04 15:04:32 -07:00
David Anderson
f38a5d5fd1
[JAEGER] Added JSOP_IFEQ, JSOP_IFNE.
2010-06-03 23:16:47 -07:00
David Anderson
3dff010f52
[JAEGER] Added JSOP_LSH, JSOP_RSH.
2010-06-03 23:05:32 -07:00
David Anderson
8e4fe7b3e9
[JAEGER] Merge from fatval branch.
2010-06-03 23:04:57 -07:00
Sean Stangl
6833c03c42
[JAEGER] Fix a missed path in InlineEqualityOp(); r=dvander.
2010-06-03 22:33:24 -07:00
Sean Stangl
26f684c3d7
[JAEGER] Implement JSOP_EQ, JSOP_NE; r=dvander
2010-06-03 21:29:03 -07:00
David Anderson
ff56c35cb8
[JAEGER] Added JSOP_CALLARG, workaround for nmap asserts.
2010-06-03 16:16:53 -07:00
Andrew Drake
0691d6d766
[JAEGER] Ensure nmap has a mapping entry for all ops, not just safepoints. r=dvander
2010-06-03 15:50:23 -07:00
David Anderson
45c0e609d2
[JAEGER] Added JSOP_VOID.
2010-06-03 15:27:04 -07:00
David Anderson
74afc2ba2e
[JAEGER] Added support for JSOP_NULL.
2010-06-03 15:08:21 -07:00
David Anderson
27f87fcf42
[JAEGER] Fixed assert in FrameState merging.
2010-06-03 13:59:19 -07:00
David Anderson
0c9f982560
[JAEGER] Slight improvement to register movement in sync path.
2010-06-02 19:07:58 -07:00
David Anderson
e8bd3a6f72
Merge.
2010-06-02 18:59:23 -07:00
David Anderson
d203d9aee3
[JAEGER] Allocate registers for local variables (GET/SETLOCAL).
2010-06-02 18:57:52 -07:00
David Anderson
a56d7ce464
[JAEGER] Fixed bug in comparison stub calls.
2010-06-02 16:48:41 -07:00
Andrew Drake
eef45a5ee7
[JAEGER] Fix nmap not being saved in JSScript properly r=dvander
2010-06-02 16:45:45 -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
50edbde73a
[JAEGER] Added JSOP_TRUE, JSOP_FALSE.
2010-06-02 15:33:36 -07:00
David Anderson
03ba62a0cc
[JAEGER] Fixed JSOP_SETNAME not ordering the stack correctly.
2010-06-02 15:25:53 -07:00
David Anderson
37e94e6030
[JAEGER] Fixed JSOP_STOP clobbering fp->rval.
2010-06-02 14:25:30 -07:00
Sean Stangl
29eb2211f9
[JAEGER] Handle JSOP_POPV; re=dvander.
2010-06-02 14:11:46 -07:00
David Anderson
e30e08a407
[JAEGER] Re-added script->nmap creation.
2010-06-02 02:09:17 -07:00