Mike Pall
|
726dc42c32
|
Fix debug option for msvcbuild.bat.
|
2011-11-17 17:34:23 +01:00 |
|
Mike Pall
|
b1efcef745
|
FFI: Add missing GC barrier for callback registration.
|
2011-11-15 16:43:43 +01:00 |
|
Mike Pall
|
d4df8d7825
|
FFI: Save GetLastError() around ffi.load() and symbol resolving, too.
|
2011-11-15 16:37:06 +01:00 |
|
Mike Pall
|
8437d0c48d
|
Eliminate some rare occurrences of redundant PHIs.
|
2011-11-14 23:57:05 +01:00 |
|
Mike Pall
|
87456f73f5
|
Fix hint-based register allocation in ra_dest().
|
2011-11-14 23:52:26 +01:00 |
|
Mike Pall
|
71d00a56db
|
FFI: Add callback support (for x86/x64).
|
2011-11-14 14:18:25 +01:00 |
|
Mike Pall
|
ae79ff4e53
|
FFI: Resolve __call metamethod for pointers, too.
|
2011-11-14 12:01:48 +01:00 |
|
Mike Pall
|
4d59752217
|
Avoid dependence on lj_jit.h if only including lj_target.h.
|
2011-11-12 01:16:43 +01:00 |
|
Mike Pall
|
635371c212
|
FFI: Add unwind definitions for lj_vm_ffi_call.
Adds exception interoperability for C/C++ functions called via FFI
from the interpreter.
|
2011-11-12 01:16:10 +01:00 |
|
Mike Pall
|
fa1675baad
|
ARM: Fix IR splitting for softfp XLOAD.
|
2011-11-11 01:07:34 +01:00 |
|
Mike Pall
|
4bcf2b40fe
|
ARM: Fix code generation for type-check only softfp [AHUV]LOAD.
|
2011-11-11 01:05:37 +01:00 |
|
Mike Pall
|
f1849fa928
|
x64: Fix lightuserdata comparisons.
|
2011-11-04 14:49:27 +01:00 |
|
Mike Pall
|
7b0157aa99
|
Spelling.
|
2011-11-04 14:07:19 +01:00 |
|
Mike Pall
|
2dc574d06b
|
FFI: Compile calls to stdcall, fastcall and vararg functions.
|
2011-10-27 01:57:30 +02:00 |
|
Mike Pall
|
1d190c99a2
|
PPC: Fuse BAND with shift to rlwinm.
|
2011-10-25 21:29:58 +02:00 |
|
Mike Pall
|
455917fa0a
|
Add more FOLD rules for shift + BAND simplifications.
|
2011-10-25 21:16:27 +02:00 |
|
Mike Pall
|
17cb366fc9
|
x64: Fix code generation for BSWAP.
|
2011-10-25 21:14:01 +02:00 |
|
Mike Pall
|
179fe9e5d8
|
PPC: Fuse BSWAP with XLOAD/XSTORE to lwbrx/stwbrx.
|
2011-10-25 19:50:44 +02:00 |
|
Mike Pall
|
ca2b923026
|
PPC/e500: Fix write barrier in USETS.
|
2011-10-25 12:42:13 +02:00 |
|
Mike Pall
|
bec4d20fb6
|
PPC: Fix write barrier in USETV/USETS.
|
2011-10-25 00:30:41 +02:00 |
|
Mike Pall
|
0cf8c20be8
|
PPC: Integrate and enable JIT compiler.
|
2011-10-24 16:43:51 +02:00 |
|
Mike Pall
|
fa9ade356b
|
Allow selection of single-number vs. dual-number mode in Makefile.
|
2011-10-24 16:35:17 +02:00 |
|
Mike Pall
|
96d8611d1b
|
PPC: Fix/improve interpreter/JIT integration.
Switch to per-trace exit stubs.
Drop register holding current trace number.
|
2011-10-24 16:24:47 +02:00 |
|
Mike Pall
|
167f638f91
|
PPC: Generalize rematerialization handling.
|
2011-10-24 16:21:11 +02:00 |
|
Mike Pall
|
826fb377ec
|
PPC: Add support for GDB JIT API.
|
2011-10-24 16:20:04 +02:00 |
|
Mike Pall
|
3591609dad
|
PPC: Add Linux/PPC cache flush mechanism.
GCC's __clear_cache() does nothing on PPC. Duh.
|
2011-10-24 16:18:02 +02:00 |
|
Mike Pall
|
8fc9bc1724
|
Make sure to flush/sync the D/I-cache for all generated code.
|
2011-10-24 16:16:14 +02:00 |
|
Mike Pall
|
32098921fd
|
Fix handling of alignment arguments (nil) to CALLX.
|
2011-10-24 16:14:01 +02:00 |
|
Mike Pall
|
cb1dd159e3
|
PPC: Add support for per-trace exit stubs.
|
2011-10-24 16:13:12 +02:00 |
|
Mike Pall
|
a0d7827554
|
Generalize handling of stack checks indicated by highest exit + 1.
|
2011-10-24 16:11:38 +02:00 |
|
Mike Pall
|
84683405fb
|
Don't save/restore tmptv with copyTV.
|
2011-10-24 15:58:54 +02:00 |
|
Mike Pall
|
86a5cc427d
|
Fix compiler warning.
|
2011-10-24 15:58:24 +02:00 |
|
Mike Pall
|
aa502203a6
|
Add missing FOLD rule for CONV.u64.int + sign-extension.
|
2011-10-22 02:03:07 +02:00 |
|
Mike Pall
|
fee957b22d
|
FFI: Cleanup/fix 64 bit arithmetic in assembler backend.
|
2011-10-22 02:02:51 +02:00 |
|
Mike Pall
|
2e5c0870bc
|
x64: Fix math.random() code generation.
|
2011-10-22 02:01:44 +02:00 |
|
Mike Pall
|
c01aaad890
|
Fix register hints for arithmetic helper functions.
|
2011-10-22 02:00:15 +02:00 |
|
Mike Pall
|
c805a49d30
|
Separate/rename NUM/FLOAT <-> I64/U64 conversion functions.
|
2011-10-22 01:59:10 +02:00 |
|
Mike Pall
|
ff7f7a7180
|
Cleanup various endianess issues in assembler backend.
|
2011-10-22 01:35:57 +02:00 |
|
Mike Pall
|
e80478c44b
|
Rearrange defines for workarounds to embedded operating systems.
|
2011-10-19 18:14:46 +02:00 |
|
Mike Pall
|
a39aac0445
|
Fix FOLD rule for CONV.flt.num(CONV.num.flt(x)) => x.
|
2011-10-19 01:52:50 +02:00 |
|
Mike Pall
|
45df079c01
|
FFI/x86: Fix CONV.u32.num rounding.
|
2011-10-19 00:18:36 +02:00 |
|
Mike Pall
|
2fcd562582
|
Don't fuse colocated array offsets without -Ofuse.
|
2011-10-19 00:17:19 +02:00 |
|
Mike Pall
|
f50075a9d7
|
Fixup PC in tracebacks after exits from down-recursive traces.
|
2011-10-17 20:06:04 +02:00 |
|
Mike Pall
|
270de2d6cc
|
Add missing FOLD rule for integer NEG of constants.
|
2011-10-17 17:21:09 +02:00 |
|
Mike Pall
|
c5164b1a7d
|
FFI/ARM: Ensure invocation of SPLIT pass for float conversions.
|
2011-10-14 01:09:30 +02:00 |
|
Mike Pall
|
4c9318792f
|
Save tmptv state for trace recorder across RECORD vmevent.
|
2011-10-14 00:43:17 +02:00 |
|
Mike Pall
|
882537a874
|
FFI: Fix unfused loads of float fields.
|
2011-10-13 20:53:01 +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
|
f34ac81e3a
|
Remove unneeded PHI barrier for reassociation of duplicate ops.
|
2011-10-10 20:35:42 +02:00 |
|
Mike Pall
|
76a2a7c857
|
Avoid overwriting argument with error from metacall recording.
|
2011-09-28 17:29:15 +02:00 |
|
Mike Pall
|
3c998f6c3c
|
Fix (harmless) typo.
|
2011-09-21 08:22:07 +02:00 |
|
Mike Pall
|
da9c74f163
|
ARM: Fix HREFK code generation.
|
2011-09-21 08:21:25 +02:00 |
|
Mike Pall
|
c5e75e7893
|
Generate a portable vmdef.lua.
|
2011-09-20 21:15:05 +02:00 |
|
Mike Pall
|
5fedf72ca6
|
PPC/e500: Fix GC barrier for TSETM.
|
2011-09-17 21:59:56 +02:00 |
|
Mike Pall
|
1a899ff671
|
PPC: Fix GC barrier for TSETM.
|
2011-09-14 16:03:02 +02:00 |
|
Mike Pall
|
6d854c04fe
|
ARM: Fix GC barrier for TSETM.
|
2011-09-14 15:53:43 +02:00 |
|
Mike Pall
|
1c5fbd4c1d
|
ARM: Disable CPU detection for interpreter-only builds.
|
2011-09-08 15:34:53 +02:00 |
|
Mike Pall
|
c56ae9f6ef
|
Increase max. number of exit stub groups to correspond with -Omaxsnap.
|
2011-09-05 23:12:58 +02:00 |
|
Mike Pall
|
1b949dc60a
|
Use some register allocator helpers for multiple architectures.
|
2011-09-05 20:23:20 +02:00 |
|
Mike Pall
|
ae3317b186
|
PPC: Interpreter/JIT integration.
|
2011-09-05 20:22:55 +02:00 |
|
Mike Pall
|
bab2f0efae
|
PPC: Fix or remove assembler helper functions.
|
2011-09-05 18:34:11 +02:00 |
|
Mike Pall
|
690ff909f5
|
PPC: More interpreter tuning. Use y-bit for branch predictions.
|
2011-09-05 18:30:36 +02:00 |
|
Mike Pall
|
25a0e663db
|
Always use ANSI variants of Windows system functions.
|
2011-09-02 11:42:01 +02:00 |
|
Mike Pall
|
32c1d4751a
|
Avoid conversion narrowing of arithmetic with large constants.
|
2011-08-26 20:29:05 +02:00 |
|
Mike Pall
|
6627744752
|
FFI/x64: Fix struct-by-value calling conventions.
|
2011-08-25 11:10:39 +02:00 |
|
Mike Pall
|
78cc9c889d
|
Record missing FORI slot loads (e.g. after return to lower frame).
|
2011-08-21 15:08:27 +02:00 |
|
Mike Pall
|
607bd88f57
|
Add potential PHI for number conversions due to type instability, too.
|
2011-08-17 20:42:41 +02:00 |
|
Mike Pall
|
aad7ea3c02
|
Load embedded bytecode with require().
|
2011-08-17 00:10:12 +02:00 |
|
Mike Pall
|
4a42933b17
|
Replace some _Unwind_* types. Fixes build issues on OSX 10.7.
|
2011-08-14 11:35:53 +02:00 |
|
Mike Pall
|
10ffd05ba9
|
x64: Fix result type of cdata index conversions.
|
2011-08-11 22:05:35 +02:00 |
|
Mike Pall
|
05ef03e2d0
|
Don't bother to chain NOPs.
|
2011-08-11 22:04:38 +02:00 |
|
Mike Pall
|
e8fa76feac
|
PPCSPE: Save/restore cr2, cr3 and cr4 when entering/leaving VM.
|
2011-08-10 22:33:52 +02:00 |
|
Mike Pall
|
d84207b8b6
|
PPC: Save/restore cr2, cr3 and cr4 when entering/leaving VM.
|
2011-08-10 21:56:10 +02:00 |
|
Mike Pall
|
28b98acd75
|
PPC: Tune and reschedule interpreter for PPC/e300.
|
2011-08-10 20:28:14 +02:00 |
|
Mike Pall
|
f333dfd17d
|
Fix compiler warning.
|
2011-08-10 15:25:11 +02:00 |
|
Mike Pall
|
4c50e36cee
|
Fix stack check when L->top is above L->maxstack.
|
2011-08-09 15:56:07 +02:00 |
|
Mike Pall
|
bed0f18466
|
Remove temporary mcode limit error from application stack.
|
2011-08-09 00:45:26 +02:00 |
|
Mike Pall
|
d9b518874d
|
FFI: Limit snapshot optimization for cdata comparisons.
|
2011-08-07 21:53:43 +02:00 |
|
Mike Pall
|
4008b351f4
|
PPC: Add machine-specific part of FFI.
|
2011-08-01 18:59:16 +02:00 |
|
Mike Pall
|
26106759d4
|
PPC: Fix floor/ceil for dual-number mode.
|
2011-07-25 10:06:06 +02:00 |
|
Mike Pall
|
551f09cebd
|
PPC: Add dual-number mode interpreter. Enable by default.
|
2011-07-25 00:18:20 +02:00 |
|
Mike Pall
|
ee2bb5efed
|
Use different workaround for alignment of jit_State.
|
2011-07-23 17:53:09 +02:00 |
|
Mike Pall
|
d001d7b7ce
|
FFI: Treat function ctypes like pointers in comparisons.
|
2011-07-23 16:29:47 +02:00 |
|
Mike Pall
|
b261d0ec04
|
From Lua 5.2: Change \* to \z. Reject undefined escape sequences.
|
2011-07-19 20:58:10 +02:00 |
|
Mike Pall
|
ca8dadb328
|
PPC: Add dual-number mode interpreter.
|
2011-07-13 21:36:17 +02:00 |
|
Mike Pall
|
6599bc7db2
|
PPCSPE: Fix dispatch for binop metamethods.
|
2011-07-13 21:33:51 +02:00 |
|
Mike Pall
|
9687472454
|
Cleanup single-number vs. dual-number mode selection.
|
2011-07-13 21:25:31 +02:00 |
|
Mike Pall
|
eb92daad0a
|
ARM: Don't evict ASMREF_L in ra_evictk().
|
2011-07-12 15:59:07 +02:00 |
|
Mike Pall
|
29ac908f74
|
FFI: Fix comment parsing.
|
2011-07-06 23:04:33 +02:00 |
|
Mike Pall
|
89201f2e66
|
Fix install_name and versioning on OSX.
|
2011-07-03 17:58:26 +02:00 |
|
Mike Pall
|
0239a56d37
|
PPC: Add build rules for PPC interpreter (non-functional, yet).
|
2011-07-03 15:19:34 +02:00 |
|
Mike Pall
|
161f1a5eb0
|
PPC: Separate PPC vs. PPCSPE interpreter source files.
|
2011-07-03 15:01:50 +02:00 |
|
Mike Pall
|
8addfefb33
|
PPC: Untangle PPC vs. PPCSPE target defines.
|
2011-07-02 00:45:38 +02:00 |
|
Mike Pall
|
8ccf89718c
|
Add debug option to msvcbuild.bat and improve error handling.
|
2011-06-29 19:26:31 +02:00 |
|
Mike Pall
|
0af502f438
|
Don't use thread-safe exceptions on OSX. Complain to Apple, not me.
|
2011-06-29 11:27:09 +02:00 |
|
Mike Pall
|
64dbe7d929
|
Return to lower frame via interpreter for unhandled cases.
E.g. spontaneous upcalls from C are now compiled.
|
2011-06-29 01:53:39 +02:00 |
|
Mike Pall
|
82eca898db
|
Prefer recording loops over calls.
Hotcounts are decremented by 2 for loops and by 1 for calls.
|
2011-06-29 01:52:23 +02:00 |
|
Mike Pall
|
deeb8196c4
|
Reorganize trace linking and track link types.
|
2011-06-28 23:23:34 +02:00 |
|
Mike Pall
|
3dbae4ffc2
|
Clean up temporary bytecode patching.
|
2011-06-28 23:19:36 +02:00 |
|
Mike Pall
|
999d95253a
|
Fix forced unwinding triggered by external unwinder.
|
2011-06-27 21:09:01 +02:00 |
|
Mike Pall
|
2dd52500ab
|
Use thread-safe exceptions for external unwinding on x64/GCC.
|
2011-06-27 20:14:28 +02:00 |
|
Mike Pall
|
db22ce2ba8
|
Fix iOS build.
|
2011-06-27 01:33:50 +02:00 |
|
Mike Pall
|
113f8e9ac2
|
Fix data-flow analysis for BC_ITERL.
|
2011-06-27 01:11:11 +02:00 |
|
Mike Pall
|
29e89adfa7
|
RELEASE LuaJIT-2.0.0-beta8 (fixed)
|
2011-06-23 19:40:21 +02:00 |
|
Mike Pall
|
9b0c641ac1
|
RELEASE LuaJIT-2.0.0-beta8
|
2011-06-23 17:15:02 +02:00 |
|
Mike Pall
|
6691e72eb8
|
Fix assertion.
|
2011-06-22 21:18:23 +02:00 |
|
Mike Pall
|
513bd6e952
|
x86/x64: Don't evict BASE in ra_evictk().
|
2011-06-22 21:07:02 +02:00 |
|
Mike Pall
|
d4da9ff55e
|
x86/x64: Fix register allocation for variable shifts.
|
2011-06-22 20:38:07 +02:00 |
|
Mike Pall
|
e2246db688
|
x86/x64: Fix fusion of comparisons with u8/u16 XLOAD.
|
2011-06-22 17:56:41 +02:00 |
|
Mike Pall
|
b6e4ffd079
|
Avoid pointless calls for std file handles on __gc.
|
2011-06-22 17:54:09 +02:00 |
|
Mike Pall
|
4df40a228f
|
Fix recording of loops with instable directions in side traces.
|
2011-06-20 21:51:31 +02:00 |
|
Mike Pall
|
31d566428f
|
From Lua 5.2: __len for tables. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-06-20 20:45:41 +02:00 |
|
Mike Pall
|
3d1563524f
|
More fixes for the Solaris/x86 build. Thanks to Will Metcalf.
|
2011-06-14 16:44:20 +02:00 |
|
Mike Pall
|
9cf2cd2a11
|
Fix bytecode loading on Windows.
|
2011-06-14 12:47:48 +02:00 |
|
Mike Pall
|
bcc196eed3
|
Fix dumping of already stripped functions with debug info.
|
2011-06-13 03:22:10 +02:00 |
|
Mike Pall
|
0eee70cd4d
|
Add -b command line option to save/list bytecode.
|
2011-06-13 01:04:23 +02:00 |
|
Mike Pall
|
4994fcc32c
|
Add support for bytecode loading/saving.
|
2011-06-13 01:04:11 +02:00 |
|
Mike Pall
|
9da94d1355
|
Add recursive dump option to jit.bc.dump().
|
2011-06-12 23:51:13 +02:00 |
|
Mike Pall
|
0c8696dfbf
|
No need for L argument to lj_str_initbuf().
|
2011-06-12 21:09:20 +02:00 |
|
Mike Pall
|
287de611a2
|
FFI: Support __tostring metamethod for pointers to structs, too.
|
2011-06-11 18:30:22 +02:00 |
|
Mike Pall
|
a58eb604f4
|
Make .eh_frame section read-write on Solaris.
|
2011-06-11 15:57:03 +02:00 |
|
Mike Pall
|
27d8d3b5d9
|
Fix check for missing arguments in string.format().
|
2011-06-10 13:47:11 +02:00 |
|
Mike Pall
|
b6a7fc5330
|
Cleanup prototype flags.
|
2011-06-09 13:54:40 +02:00 |
|
Mike Pall
|
96cc99bd6a
|
Remove bogus assertion for GC estimate vs. threshold.
|
2011-06-09 01:34:10 +02:00 |
|
Mike Pall
|
8c32b38ca3
|
Flatten and compress in-memory debug info (saves ~70%).
|
2011-06-09 01:27:37 +02:00 |
|
Mike Pall
|
585cf05dbd
|
Move debugging/introspection functionality to lj_debug.c.
|
2011-06-07 21:37:24 +02:00 |
|
Mike Pall
|
b44ccd4263
|
Fix compiler warning.
|
2011-06-07 21:28:31 +02:00 |
|
Mike Pall
|
a0840d2695
|
FFI: Print NULL pointers as "cdata<... *>: NULL".
|
2011-06-07 21:10:04 +02:00 |
|
Mike Pall
|
a7ca722dca
|
FFI: Show address pointed to for tostring(pointer).
|
2011-06-07 20:57:32 +02:00 |
|
Mike Pall
|
51ee3d951e
|
Minor change to bytecode penalty code for consistency.
|
2011-06-07 20:44:55 +02:00 |
|
Mike Pall
|
f50d8986d8
|
Fix data-flow analysis for BC_UCLO.
|
2011-06-07 11:51:04 +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
|
a48058a791
|
ARM: Add fast assembler implementation of floor/ceil/trunc.
|
2011-06-05 23:38:23 +02:00 |
|
Mike Pall
|
a175754ab7
|
PPC: Add lj_vm_floor which is callable from C.
|
2011-06-05 23:36:49 +02:00 |
|
Mike Pall
|
7ad4908a48
|
ARM: Fuse XLOAD/XSTORE operands.
|
2011-06-05 18:59:35 +02:00 |
|
Mike Pall
|
b88eaa11f3
|
Add stdint.h replacement for Symbian. Sigh.
|
2011-06-03 20:21:10 +02:00 |
|
Mike Pall
|
8c5935000d
|
Add narrowing of modulo operator.
|
2011-06-03 18:48:02 +02:00 |
|
Mike Pall
|
eec28aa9fd
|
Move math helpers to lj_vmmath.c. Add missing log2/exp2 for Symbian.
|
2011-06-03 17:15:44 +02:00 |
|
Mike Pall
|
77bb8de93d
|
ARM: Disable C++ exception catching on Symbian.
|
2011-06-03 12:23:43 +02:00 |
|
Mike Pall
|
84e33332a7
|
ARM: Enable JIT compiler (except for iOS).
|
2011-06-02 03:19:23 +02:00 |
|
Mike Pall
|
5d82cfd091
|
ARM: Add ARM-specific assembler backend.
|
2011-06-02 03:18:26 +02:00 |
|
Mike Pall
|
fff2fb31f9
|
ARM: Don't generate unaligned XLOADs.
|
2011-06-02 01:46:23 +02:00 |
|
Mike Pall
|
a770bf3741
|
Many soft-float-related fixes to SPLIT pass and assembler backend.
|
2011-06-02 01:24:36 +02:00 |
|
Mike Pall
|
9e153003b4
|
ARM: Catch C++ exceptions in interpreter frames.
|
2011-06-02 01:21:32 +02:00 |
|
Mike Pall
|
8dd09d5041
|
DUALNUM: Fix missing type check for loop index slot.
|
2011-06-01 00:49:29 +02:00 |
|
Mike Pall
|
2d0b32500e
|
ARM: Tune rematerialization scheduler.
|
2011-05-31 21:50:14 +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
|
a522087371
|
x86/x64: Minor cleanup in assembler backend.
|
2011-05-31 21:39:09 +02:00 |
|