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 |
|