Commit Graph

361 Commits

Author SHA1 Message Date
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
David Anderson
9c9903f6dc [JAEGER] Added JSOP_GETARG. 2010-06-01 11:12:50 -07:00
David Anderson
25c5fc6b60 [JAEGER] Fixed opt build. 2010-05-31 23:03:42 -07:00
David Anderson
18209b07ab [JAEGER] Added JSOP_LT,LE,GT,GE,STRING with fast-paths. 2010-05-31 22:44:00 -07:00
David Anderson
e60d435fae [JAEGER] Enhanced constant-folding of rel ops. 2010-05-31 03:19:46 -07:00
David Anderson
3cef63ff88 [JAEGER] Constant fold LT,LE,GT,GE. 2010-05-31 02:17:05 -07:00
David Anderson
fe92fc9287 [JAEGER] Fixed bug in stubs::Name(). 2010-05-31 00:59:45 -07:00
David Anderson
8ddd668df0 [JAEGER] Fixed JSOP_STOP w/ inline calls. 2010-05-31 00:41:31 -07:00
David Anderson
8b3a220284 [JAEGER] Fixed bug where constants weren't unsynced on push. 2010-05-31 00:03:31 -07:00
David Anderson
2f59b29548 [JAEGER] Added JSOP_DEFFUN, JSOP_NOP. 2010-05-30 23:51:32 -07:00
David Anderson
5bdf03d38d [JAEGER] Implemented register eviction algorithm. 2010-05-30 23:37:04 -07:00
David Anderson
c4bb991d3b [JAEGER] Implemented CALL. 2010-05-30 23:18:39 -07:00
David Anderson
fa4bfd26db [JAEGER] Added JSOP_CALLNAME. 2010-05-30 22:46:39 -07:00
David Anderson
945f036f29 [JAEGER] Fixed pointless assert. 2010-05-30 20:19:25 -07:00
David Anderson
ff19a371e5 [JAEGER] Fixed mem corruption bug. 2010-05-30 20:16:10 -07:00
David Anderson
c8844c4d54 [JAEGER] Build fixes. 2010-05-30 20:13:07 -07:00
David Anderson
403f03ea8f [JAEGER] Fixed bugs in allocating temp registers for FEs. 2010-05-30 19:57:01 -07:00
David Anderson
bf470f73e5 [JAEGER] Added JSOP_GLOBALINC, JSOP_GLOBALDEC, JSOP_INCGLOBAL, JSOP_DECGLOBAL. 2010-05-30 19:44:29 -07:00
David Anderson
aad4b0b970 [JAEGER] Common function for computing obj slot refs; improved regalloc on GETGLOBAL. 2010-05-30 14:37:18 -07:00
David Anderson
a822a2418e [JAEGER] Fixed bug in slow path side exit generation. 2010-05-30 01:10:02 -07:00
David Anderson
536a5700bd [JAEGER] Finished initial stub-call mechanism, added BITAND. 2010-05-30 01:01:41 -07:00
David Anderson
299e5d9436 [JAEGER] Stub call exits now work. 2010-05-29 23:33:51 -07:00
David Anderson
d8f2a30535 [JAEGER] Fix bugs, inline FrameState.h.
--HG--
rename : js/src/methodjit/FrameState.cpp => js/src/methodjit/FrameState-inl.h
2010-05-29 22:43:38 -07:00
David Anderson
14f8391316 [JAEGER] New FrameState.
--HG--
rename : js/src/methodjit/nunbox/FrameEntry.h => js/src/methodjit/FrameEntry.h
rename : js/src/methodjit/nunbox/FrameState.cpp => js/src/methodjit/FrameState.cpp
rename : js/src/methodjit/nunbox/FrameState.h => js/src/methodjit/FrameState.h
2010-05-29 21:48:13 -07:00
David Anderson
f0554c5969 [JAEGER] Added JSOP_NAME. 2010-05-28 00:54:01 -07:00
David Anderson
8a7b8a54b3 [JAEGER] Fixed bug in syncing doubles. 2010-05-28 00:42:40 -07:00
David Anderson
0c73bb07e6 [JAEGER] Jumps in-between the slow and fast paths now work. 2010-05-28 00:30:35 -07:00
David Anderson
e3ed2f13e8 [JAEGER] Start filling out the register allocator and stub call mechanism. 2010-05-27 21:26:19 -07:00
David Anderson
035b69b6f3 [JAEGER] Added common call functionality to BaseAssembler. 2010-05-26 17:49:34 -07:00
David Anderson
1faf352c4e [JAEGER] Sub-classed mjit::Assembler from new mjit::BaseAssembler. 2010-05-26 17:18:42 -07:00
David Anderson
af1490ea97 [JAEGER] Start of stub-call compiler; sub-classed MacroAssembler into mjit::Assembler.
--HG--
rename : js/src/methodjit/Stubs.cpp => js/src/methodjit/StubCalls.cpp
rename : js/src/methodjit/Stubs.h => js/src/methodjit/StubCalls.h
2010-05-26 17:08:08 -07:00
David Anderson
31c3867c05 [JAEGER] Added RematInfo header. 2010-05-26 00:33:57 -07:00
David Anderson
88963dc176 [JAEGER] House cleaning... re-org.
--HG--
rename : js/src/methodjit/CodeGen_NaN32.cpp => js/src/methodjit/nunbox/CodeGenerator.cpp
rename : js/src/methodjit/CodeGenerator.h => js/src/methodjit/nunbox/CodeGenerator.h
rename : js/src/methodjit/FastOps.cpp => js/src/methodjit/nunbox/FastOps.cpp
rename : js/src/methodjit/FrameEntry.h => js/src/methodjit/nunbox/FrameEntry.h
rename : js/src/methodjit/FrameState.cpp => js/src/methodjit/nunbox/FrameState.cpp
rename : js/src/methodjit/FrameState.h => js/src/methodjit/nunbox/FrameState.h
2010-05-26 00:21:47 -07:00
David Anderson
935d205ba8 [JAEGER] Added JSOP_DOUBLE. 2010-05-25 22:42:43 -07:00
David Anderson
fa0822d446 [JAEGER] Start of BINDNAME. 2010-05-25 22:31:08 -07:00
David Anderson
b482f72bf4 [JAEGER] Added JSOP_GOTO support. 2010-05-25 18:21:10 -07:00
David Anderson
1379800b5c [JAEGER] Quick fix-up for new values.
--HG--
rename : js/src/methodjit/CodeGenerator.cpp => js/src/methodjit/CodeGen_FatVals.cpp
rename : js/src/methodjit/CodeGenerator.cpp => js/src/methodjit/CodeGen_NaN32.cpp
2010-05-25 17:00:57 -07:00
David Anderson
e7dd547963 [JAEGER] Added register state verification & fixes for subsequent bugs it found. 2010-05-25 16:03:34 -07:00
David Anderson
0de6cef48c Added a bunch of the UINT/INT opcodes. 2010-05-25 14:38:39 -07:00
David Anderson
61f3596d3c [JAEGER] Initial import of new compiler layout. 2010-05-25 14:14:13 -07:00
David Anderson
ef81792b37 [JAEGER] Re-added JIT script releasing. 2010-05-22 17:45:52 -07:00
David Anderson
167ee00231 [JAEGER] Enabled method JIT backend. 2010-05-22 17:41:21 -07:00
David Anderson
9f1aa534da Import method JIT 'outer' framework. 2010-05-22 17:09:52 -07:00