Mike Pall
ae79ff4e53
FFI: Resolve __call metamethod for pointers, too.
2011-11-14 12:01:48 +01:00
Mike Pall
2dc574d06b
FFI: Compile calls to stdcall, fastcall and vararg functions.
2011-10-27 01:57:30 +02:00
Mike Pall
0cf8c20be8
PPC: Integrate and enable JIT compiler.
2011-10-24 16:43:51 +02:00
Mike Pall
bc95d54ec9
FFI: Fix call argument and return handling for I8/U8/I16/U16 types.
2011-10-13 20:44:31 +02:00
Mike Pall
120c3adbff
FFI: Record loads/stores to external variables in namespaces.
2011-10-11 20:58:04 +02:00
Mike Pall
4a144625c9
FFI: Fix recording of const/enum lookups in namespaces.
2011-10-11 11:51:48 +02:00
Mike Pall
d9b518874d
FFI: Limit snapshot optimization for cdata comparisons.
2011-08-07 21:53:43 +02:00
Mike Pall
d001d7b7ce
FFI: Treat function ctypes like pointers in comparisons.
2011-07-23 16:29:47 +02:00
Mike Pall
22946f268b
FFI: Change tonumber(cdata) semantics. Return nil for non-numbers.
2011-06-06 19:56:55 +02:00
Mike Pall
7ad4908a48
ARM: Fuse XLOAD/XSTORE operands.
2011-06-05 18:59:35 +02:00
Mike Pall
865ec114a7
FFI: Fix recording of casts from 32 bit pointers to integers.
2011-05-31 21:39:37 +02:00
Mike Pall
effdfda673
Move IR_CALL* definitions to lj_ircall.h.
2011-05-22 16:28:43 +02:00
Mike Pall
6534152b44
Fix compiler warning.
2011-05-04 23:45:02 +02:00
Mike Pall
c77ca54564
FFI: Compile C function calls with 64 bit args/results in 32 bit mode.
2011-04-29 19:40:50 +02:00
Mike Pall
5d096dcfde
FFI: Add ffi.istype() function.
2011-04-20 01:53:26 +02:00
Mike Pall
31e0774a9e
FFI: Fix cdata finalization.
2011-04-13 21:37:54 +02:00
Mike Pall
3b6f37dd2c
FFI: Add ctype metamethods and ffi.metatype().
2011-04-12 19:16:39 +02:00
Mike Pall
a226fb4cc7
FFI: Force snapshot after C call to preserve semantics.
2011-03-15 14:56:42 +01:00
Mike Pall
bfce3c1127
DUALNUM: Handle integer type in JIT compiler.
2011-03-10 01:57:24 +01:00
Mike Pall
3f26e3a89d
FFI: Fix and optimize recording of cdata[cdata].
2011-03-10 01:41:58 +01:00
Mike Pall
e1aa8d0d97
FFI: Fix compiled ffi.string() semantics.
2011-02-28 19:47:51 +01:00
Mike Pall
a720db409d
FFI: Record calls to functions with void results.
2011-02-23 00:28:49 +01:00
Mike Pall
34bcf6378b
FFI: Fix recording of userdata conversions.
2011-02-20 02:13:32 +01:00
Mike Pall
cf88c43dd6
FFI: Fix 64 bit to 32 bit truncations on x64.
2011-02-20 00:18:46 +01:00
Mike Pall
32eaa48c79
FFI: Fix recording of ffi.copy() and ffi.fill().
2011-02-19 23:04:16 +01:00
Mike Pall
c39ca7c35b
FFI: Record ffi.abi().
2011-02-08 00:09:33 +01:00
Mike Pall
7a37b93f1b
FFI: Record ffi.copy() and ffi.fill().
2011-02-07 23:49:27 +01:00
Mike Pall
fb53d4aeb7
FFI: Fix recording of pointer arithmetic.
2011-02-07 23:42:51 +01:00
Mike Pall
51e8fe9cf0
FFI: Allow cdata types for integer arguments of ffi.* functions.
2011-02-07 17:13:14 +01:00
Mike Pall
8da287cab8
FFI: Fix handling of enum arguments to C calls.
2011-02-07 16:41:51 +01:00
Mike Pall
bf58160b7a
FFI: Simplify and fix tonumber() for cdata objects.
2011-02-06 12:23:58 +01:00
Mike Pall
26bb0fe24b
FFI: Limit number of arguments for recorded calls.
2011-02-05 23:01:10 +01:00
Mike Pall
26fadcd25b
FFI: Record simple C function calls.
...
Only handles cdecl and fixarg C functions.
Doesn't handle pass-by-value aggregates.
Doesn't handle 64 bit args/returns on 32 bit CPUs.
2011-02-05 21:50:15 +01:00
Mike Pall
bf05209e14
FFI: Optimize snapshots for cdata comparisons.
2011-02-05 18:54:08 +01:00
Mike Pall
14f5103764
FFI: Record C library namespace lookups.
2011-02-05 14:16:16 +01:00
Mike Pall
c29ed4dbbf
FFI: Record ffi.string().
2011-02-05 01:05:56 +01:00
Mike Pall
618b451648
FFI: Avoid intermediate boxes for tonumber(), too.
2011-02-05 01:04:41 +01:00
Mike Pall
df65b8b419
FFI: Rename IR_CNEWP to IR_CNEWI and use it to box 64 bit integers.
...
Generates smaller IR and DCE eliminates many intermediate boxes.
Needs allocation sinking to eliminate the boxes kept alive by PHIs.
2011-02-03 04:22:27 +01:00
Mike Pall
a1e0f991d8
FFI: Record 64 bit integer divide and modulo.
2011-02-02 21:24:55 +01:00
Mike Pall
b613216efc
Add SPLIT pass to split 64 bit IR instructions for 32 bit CPUs.
...
Add generic HIOP instruction for extra backend functionality.
Add support for HIOP to x86 backend.
Use POWI for 64 bit integer x^k, too.
POWI is lowered to a call by SPLIT or the x64 backend.
2011-02-02 02:29:37 +01:00
Mike Pall
992bc2caa3
FFI: Limit index range for complex numbers.
2011-01-29 19:47:37 +01:00
Mike Pall
07d8a53b39
FFI: Split up 64 bit x^k helper into signed/unsigned.
2011-01-28 02:15:30 +01:00
Mike Pall
3184f17169
FFI: Move code for cdata arithmetic to lj_carith.c.
2011-01-26 21:46:02 +01:00
Mike Pall
2526498c71
FFI: Record cdata indexing with integer cdata.
2011-01-26 21:14:58 +01:00
Mike Pall
72b3fff72f
FFI: Simplify initializer rules. Clarify docs.
2011-01-23 14:23:21 +01:00
Mike Pall
f385af7084
FFI: Record 64 bit integer comparisons and pointer comparisons.
2011-01-17 01:23:04 +01:00
Mike Pall
83d8c86bbb
FFI: Record conversions from bool ctype.
2011-01-17 01:21:57 +01:00
Mike Pall
335232b0f1
FFI: Record conversions to bool ctype.
2011-01-16 19:42:53 +01:00
Mike Pall
6f746577d0
FFI: Allow indexing a struct constructor to get constants.
...
Specialize to the CTypeID held by a constructor in all cases.
2011-01-16 18:32:33 +01:00
Mike Pall
0fa32e5d31
FFI: Record conversions from strings to enums or pointers.
2011-01-13 17:20:29 +01:00