Commit Graph

  • 751eff9f97 Cleanup and fix trace flush logic. Mike Pall 2011-01-18 21:08:23 +01:00
  • f385af7084 FFI: Record 64 bit integer comparisons and pointer comparisons. Mike Pall 2011-01-17 01:23:04 +01:00
  • 83d8c86bbb FFI: Record conversions from bool ctype. Mike Pall 2011-01-17 01:21:57 +01:00
  • 66ba1e68aa Add trace recorder infrastructure for instruction post-processing. Mike Pall 2011-01-17 01:20:10 +01:00
  • b2ff889c6e FFI: Don't swap operands for cdata __eq metamethod call. Mike Pall 2011-01-17 01:09:43 +01:00
  • 335232b0f1 FFI: Record conversions to bool ctype. Mike Pall 2011-01-16 19:42:53 +01:00
  • 2940ab023a Fix assertion. Mike Pall 2011-01-16 19:24:50 +01:00
  • 6f746577d0 FFI: Allow indexing a struct constructor to get constants. Mike Pall 2011-01-16 18:32:33 +01:00
  • 0fa32e5d31 FFI: Record conversions from strings to enums or pointers. Mike Pall 2011-01-13 17:20:29 +01:00
  • 59643c86fb Add FOLD rule for CONV.num.u32 KINT. Mike Pall 2011-01-13 17:18:08 +01:00
  • 706bbe394e Fix recording of select() with multi-char string as 1st argument. Mike Pall 2011-01-13 17:16:22 +01:00
  • 6e702d703e FFI: Cleanup some type conversions. Mike Pall 2011-01-13 16:39:42 +01:00
  • 0ec7f5ed92 FFI: Add 64 bit integer comparisons and pointer comparisons. Mike Pall 2011-01-13 02:35:29 +01:00
  • e7b08b2361 FFI: Simplify logic for pointer arithmetic. Mike Pall 2011-01-12 21:34:11 +01:00
  • a5e48285e3 FFI: Rearrange code in lib_ffi.c. Mike Pall 2011-01-12 21:24:15 +01:00
  • 2363399b10 FFI: Untangle and fix calling convention definitions. Mike Pall 2011-01-12 18:24:29 +01:00
  • 1548383dbe Avoid compiler warnings. Mike Pall 2011-01-12 18:22:00 +01:00
  • 8d858bfefa FFI: Fix C calls with complex values on x64. Mike Pall 2011-01-11 03:36:49 +01:00
  • a54843bb51 FFI: Lookup decorated name for fastcall/stdcall functions. Mike Pall 2011-01-11 03:08:54 +01:00
  • 87a6c8a980 FFI: Auto-detect __stdcall and fix up C function declarations. Mike Pall 2011-01-10 20:50:34 +01:00
  • ddf6596333 FFI: Add ffi.load() and ffi.C default namespace. Mike Pall 2011-01-10 03:43:18 +01:00
  • d215747fd5 FFI: Fix function pointer lookup for calls. Mike Pall 2011-01-10 03:38:23 +01:00
  • 9502afb35b FFI: Preserve stack top across implicit load of FFI library in lexer. Mike Pall 2011-01-09 17:48:25 +01:00
  • 06f99fc3df Bump copyright date to 2011. Mike Pall 2011-01-09 17:12:53 +01:00
  • 4c0330a8b1 FFI: Handle NYI cases for cdata call metamethod. Mike Pall 2011-01-09 16:48:37 +01:00
  • bfc638ca6c FFI: Add missing GC steps for C function calls. Mike Pall 2011-01-09 16:48:23 +01:00
  • aca1e5b3e6 Fix Windows/x86 build and update pregenerated files. Mike Pall 2011-01-06 23:37:04 +01:00
  • fb0a18ca0b FFI: Add support for calling C functions. Mike Pall 2011-01-06 23:30:04 +01:00
  • 97875c4fa9 Avoid compiler warnings. Mike Pall 2011-01-05 21:48:01 +01:00
  • a148a6aa00 FFI: Add missing link to parameters for C function declaration. Mike Pall 2011-01-05 21:45:31 +01:00
  • bc37edc911 Fix handling of floats in x86/x64 backend. Mike Pall 2011-01-05 21:45:09 +01:00
  • 3b468ceedb FFI: Force snapshot after store to cdata. Mike Pall 2011-01-05 20:28:57 +01:00
  • eaf88dfb3a FFI: Record 64 bit integer arithmetic. Mike Pall 2011-01-03 03:35:35 +01:00
  • 44a22b9889 Add support for non-constant integer IR_MUL to backend. Mike Pall 2011-01-03 02:58:31 +01:00
  • 593821f7d9 Add support for integer IR_NEG to backend. Mike Pall 2011-01-03 02:35:30 +01:00
  • 3291bb62e0 FFI: Record pointer arithmetic. Mike Pall 2011-01-03 01:30:58 +01:00
  • b2c74c52cc FFI: Add support for cdata constants to IR. Mike Pall 2011-01-02 22:21:10 +01:00
  • 331b148737 Use cdata to pass IR_KINT64 to -jdump. Mike Pall 2011-01-02 22:20:08 +01:00
  • e66b5b6eee Improve uint64_t <-> FP conversions in x64 backend. Mike Pall 2011-01-02 20:43:58 +01:00
  • 55a9be7809 FFI: Record tonumber() for boxed cdata. Mike Pall 2011-01-02 18:30:02 +01:00
  • 0005b2c2b9 Add support for uint64_t <-> FP conversions to x64 backend. Mike Pall 2011-01-02 18:24:31 +01:00
  • ddfa7fc246 Add conversions for type mismatches in XSTORE forwarding. Mike Pall 2010-12-31 22:50:06 +01:00
  • 3b47eba9cc Add 8/16 to 32 bit sign/zero-extension variants to CONV. Mike Pall 2010-12-31 22:49:23 +01:00
  • 007067bdd8 Fix register allocation for FP <- int conversion. Mike Pall 2010-12-31 22:17:44 +01:00
  • 783dbd335f Refactoring of conversion ops, part 5: drop TOINT/TOI64/TONUM. Mike Pall 2010-12-31 04:09:32 +01:00
  • 1716540c55 Refactoring of conversion ops, part 4: use CONV instead of TOINT/TONUM. Mike Pall 2010-12-31 03:56:30 +01:00
  • 1f26961092 Refactoring of conversion ops, part 3: add FOLD rules for IR_CONV. Mike Pall 2010-12-31 01:09:30 +01:00
  • 65b194a2f8 Copy destination type for CONV from ir->t to op2, too. Mike Pall 2010-12-31 01:00:54 +01:00
  • dc4b82c33d Add lj_num2u64 for number to uint64_t conversion. Mike Pall 2010-12-31 00:46:29 +01:00
  • 4668b229de FFI: Add missing GC steps for implicit allocations. Mike Pall 2010-12-30 12:16:25 +01:00
  • 158de60b8c Refactoring of conversion ops, part 2: cleanup cdata conversions. Mike Pall 2010-12-30 00:42:00 +01:00
  • 8bcc5ed021 Add support for IRT_FLOAT to XLOAD/XSTORE. Mike Pall 2010-12-30 00:36:33 +01:00
  • 2ca2de7f0e Refactoring of conversion ops, part 1: add IR_CONV. Mike Pall 2010-12-28 22:05:40 +01:00
  • 06c61d9cea Use macro-map for IRT_* enum. Add IRT_FLOAT. Mike Pall 2010-12-28 20:58:00 +01:00
  • d176433e32 FFI: Catch various NYI cases while recording. Mike Pall 2010-12-28 19:09:01 +01:00
  • a70fb9416a Make recording of type() independent of LJ_T*/IRT_* mapping. Mike Pall 2010-12-28 18:23:41 +01:00
  • 44935dae0d FFI: Add 64 bit integer arithmetic. Mike Pall 2010-12-25 22:54:25 +01:00
  • dd65e00831 FFI: Fix C type representation for valarrays. Mike Pall 2010-12-25 22:33:07 +01:00
  • 461bf77331 FFI: Parse complex and 64 bit integer literals. Mike Pall 2010-12-24 01:31:39 +01:00
  • 4850865c57 Fix misnamed macro in Lua parser. Mike Pall 2010-12-24 01:23:42 +01:00
  • aa705f7e1a FFI: Fix C parser for hex literals. Mike Pall 2010-12-23 23:06:04 +01:00
  • 79ab1a4baa FFI: Add pointer arithmetic. Mike Pall 2010-12-23 17:54:54 +01:00
  • ba20871f0f Fix display of branches to exit stubs in 32 bit disassembly. Mike Pall 2010-12-23 01:01:04 +01:00
  • 6082f93919 Improve register allocation for loops with variable shifts. Mike Pall 2010-12-23 00:55:31 +01:00
  • c0ffe7d394 FFI: Record cdata allocations. Mike Pall 2010-12-22 23:21:38 +01:00
  • 4f2f44dd97 Avoid compiler warnings. Mike Pall 2010-12-22 23:20:50 +01:00
  • dbab6cf511 Reassociate XLOAD across PHIs to handle a[i-1] forwarding case. Mike Pall 2010-12-20 19:35:57 +01:00
  • c8d6f078a5 Fix XSTORE for IRT_NUM constants. Mike Pall 2010-12-20 19:34:15 +01:00
  • 1eb6e23730 Fix dump of pointer constants. Mike Pall 2010-12-20 17:12:49 +01:00
  • c9a0b9ea9e Improve alias analysis for cdata allocations. Mike Pall 2010-12-20 15:26:05 +01:00
  • 255c6e8c87 FFI: Drop IR_CNEWI. Add IR_CNEWP only for pointers/refs. Mike Pall 2010-12-17 17:20:04 +01:00
  • c98132e182 FFI: FOLD load of initializers even across PHIs. Mike Pall 2010-12-17 16:47:28 +01:00
  • c4a0fb4f60 FFI: Record copy-by-value for pointer and complex C types. Mike Pall 2010-12-15 21:49:40 +01:00
  • 09ef7ebf56 FFI: Simplify copy-by-value. Strip attributes, keep qualifiers. Mike Pall 2010-12-15 21:47:46 +01:00
  • fbcc925a2d FFI: Fix auto-deref of pointers to structs. Mike Pall 2010-12-15 19:47:01 +01:00
  • badff4ed0a Fix error location while recording metamethods. Mike Pall 2010-12-15 19:44:30 +01:00
  • 9666cf52ce Fix type-based alias analysis for XLOAD/XSTORE. Mike Pall 2010-12-12 23:09:26 +01:00
  • 74317fa0ef Add alias analysis for XLOAD/XSTORE. Add DSE for XSTORE. Mike Pall 2010-12-12 22:28:48 +01:00
  • a22ea8898e FOLD (base+k)+(idx*sz)+ofs ==> (base+idx*sz)+(ofs+k). Mike Pall 2010-12-12 21:07:23 +01:00
  • a403cb13e4 Add missing PHI barrier to strength reduction of widening. Mike Pall 2010-12-12 21:03:20 +01:00
  • 42f9b38663 Extend all FOLD rules to work on 64 bit integers. Mike Pall 2010-12-11 21:20:49 +01:00
  • 476259e87e Add 64 bit bswap and rotates. Mike Pall 2010-12-11 21:20:12 +01:00
  • 5f7e9173db Regroup FOLD rules for constant folding. Mike Pall 2010-12-11 20:08:07 +01:00
  • 44101c64e8 FFI: Don't use KNULL for arbitrary NULL pointers. Mike Pall 2010-12-11 20:10:52 +01:00
  • cdac0fa2cb FFI: Add IR_CNEW/IR_CNEWI to allocate/init cdata objects. Mike Pall 2010-12-11 19:32:12 +01:00
  • 6947493687 Turn lj_mem_newgco() into a fastcall. Mike Pall 2010-12-10 01:10:52 +01:00
  • 09e2bdbb0a FFI: Always specialize to the field name for struct access. Mike Pall 2010-12-09 22:48:01 +01:00
  • 870bcd7640 Add missing guard for check against "#" when recording select(). Mike Pall 2010-12-09 22:35:49 +01:00
  • cc0efd85d6 FFI: Fix alignment of scalars/vectors modified with mode attribute. Mike Pall 2010-12-09 18:48:23 +01:00
  • 1d86090926 Strength-reduce 32 to 64 bit widening using scalar evolution analysis. Mike Pall 2010-12-09 16:12:59 +01:00
  • 36fed9f3e1 Allow integer literals in FOLD rules. Mike Pall 2010-12-09 16:11:15 +01:00
  • e9cab5a763 x86/x64 backend: keep invariants on the right rather than fusing loads. Mike Pall 2010-12-09 16:08:55 +01:00
  • 4f0d3e8262 Apply narrowing optimization to IR_TOI64, too. Mike Pall 2010-12-08 21:03:45 +01:00
  • f308e00e03 Add FOLD rule to reassociate 64 bit (x+k1)+k2. Mike Pall 2010-12-08 20:57:21 +01:00
  • 70071241bf Fix type-based colorization of snapshot slots in debug output. Mike Pall 2010-12-08 20:37:22 +01:00
  • d0b283e596 Avoid stack resizes while recording calls to vararg functions. Mike Pall 2010-12-08 19:11:58 +01:00
  • 6a04591b7b FOLD (base+(idx+k)*sz)+ofs ==> (base+idx*sz)+(ofs+k*sz). Mike Pall 2010-12-08 03:33:48 +01:00
  • 3c78a7f468 Avoid fusing loads if there are multiple references. Mike Pall 2010-12-08 03:26:53 +01:00
  • 72744dabd9 Fix IRT_NUM support for XLOAD/XSTORE. Mike Pall 2010-12-08 03:24:35 +01:00
  • 3ef6a53cfa FFI: Turn cdata indexing into x86/x64 [base+idx*sz+ofs] addressing. Mike Pall 2010-12-08 02:36:09 +01:00