Mike Pall
1f0006ac71
Cleanup of docs.
2011-02-11 14:51:20 +01:00
Mike Pall
a5aade2fa9
FFI: Finish FFI docs.
2011-02-11 01:21:46 +01:00
Mike Pall
a2f9f1f831
FFI: Finish docs on FFI semantics. Phew.
2011-02-10 03:12:09 +01:00
Mike Pall
a7ab6b2dc9
Fix various HTML errors in the docs.
2011-02-10 03:10:38 +01:00
Mike Pall
24c314e8fc
FFI: Add more docs on FFI semantics.
2011-02-09 01:26:02 +01:00
Mike Pall
2388a7fcc0
FFI: Document current FFI implementation status.
2011-02-08 01:20:53 +01:00
Mike Pall
9c81c81ed5
Fix bytecode optimization of and/or operators.
2011-02-08 01:00:47 +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
97d0874ff5
Add IR_XBAR, a barrier against XLOAD/XSTORE optimizations.
2011-02-07 21:59:25 +01:00
Mike Pall
0a50356b6f
Improve static assertion macro.
2011-02-07 21:44:01 +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
ceece4d13e
FFI: Perform stricter checks in ffi.cast(). Record ffi.cast().
2011-02-06 12:46:18 +01:00
Mike Pall
bf58160b7a
FFI: Simplify and fix tonumber() for cdata objects.
2011-02-06 12:23:58 +01:00
Mike Pall
4c74f70464
Strength-reduce 32 to 64 bit widening for XLOAD U8/U16 inputs.
2011-02-06 00:45:39 +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
da3f256a52
Fix metamethod comparisons triggered by BC_ISEQP/BC_ISNEP.
2011-02-05 16:32:08 +01:00
Mike Pall
14f5103764
FFI: Record C library namespace lookups.
2011-02-05 14:16:16 +01:00
Mike Pall
223d85aa06
Treat metatables of special userdata objects as immutable.
2011-02-05 14:09:50 +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
1abf5d4d26
FFI: Disable MUL => BSHL FOLD rule on 32 bit.
2011-02-03 20:10:13 +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
1027018b21
Rename IR_POWI to IR_POW.
2011-02-02 21:33:11 +01:00
Mike Pall
433fd18f6d
FFI: Add basic FOLD rules for 64 bit integer DIV, MOD and POWI.
2011-02-02 21:25:43 +01:00
Mike Pall
a1e0f991d8
FFI: Record 64 bit integer divide and modulo.
2011-02-02 21:24:55 +01:00
Mike Pall
2c8945d3e7
Use names defined in lualib.h for library registration.
2011-02-02 02:38:59 +01:00
Mike Pall
1505d6ffde
Fix OSX build to work with newer ld64 versions.
2011-02-02 02:31:59 +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
c539c0cac8
Add SSE3 CPU feature detection.
2011-02-01 19:28:03 +01:00
Mike Pall
992bc2caa3
FFI: Limit index range for complex numbers.
2011-01-29 19:47:37 +01:00
Mike Pall
6fd721ce72
FFI: Implement POSIX/x64 struct-by-value calling conventions.
2011-01-29 13:04:16 +01:00
Mike Pall
6fee0002b9
Fix 64 bit case of (SUB x x) and (BXOR x x) FOLD rules.
2011-01-28 02:17:35 +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
cd9b8f90e2
FFI: Fix various issues with C type table reallocations.
2011-01-27 16:28:24 +01:00
Mike Pall
279b6ec22e
FFI: Fix symbol name redirection.
2011-01-27 16:07:02 +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
de0781d610
FFI: Allow cdata indexing with integer cdata.
2011-01-26 21:14:38 +01:00
Mike Pall
0622ad9adc
Fix comments for BC_ITERN.
2011-01-26 19:55:55 +01:00
Mike Pall
30db71e2e2
FFI: Convert enum return value of C function to underlying type.
2011-01-26 14:18:12 +01:00
Mike Pall
a285415b01
One more fix for the trace flush logic. Sigh.
2011-01-26 02:34:30 +01:00
Mike Pall
1b75ec22c8
FFI: Add symbol name redirection.
...
This works like the GCC extension, e.g.:
FILE *fopen(const char *fn, const char *mode) __asm__("" "fopen64");
2011-01-26 02:31:19 +01:00
Mike Pall
ed6c895ae5
ARM: Add ARM target architecture selection (disabled).
2011-01-25 18:50:24 +01:00
Mike Pall
705f593ffc
FFI: Don't force zero terminator on string to array conversion.
2011-01-24 15:51:33 +01:00
Mike Pall
96ef87bdfd
Clear bytecode penalty cache in jit.flush().
2011-01-23 19:06:19 +01:00