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 |
|
Mike Pall
|
496d3753f5
|
ARM: Optimize hash algorithm for 3-operand CPUs.
|
2011-05-31 21:38:16 +02:00 |
|
Mike Pall
|
514ccfceb8
|
ARM: Fix __newindex metamethod handling for BC_TSETB.
|
2011-05-31 21:37:44 +02:00 |
|
Mike Pall
|
0764c615fd
|
ARM: Fix string.sub() argument checks.
|
2011-05-31 21:35:03 +02:00 |
|
Mike Pall
|
03b5c8c935
|
Clean up memory allocator initialization and catch early OOM.
|
2011-05-30 01:32:50 +02:00 |
|
Mike Pall
|
638f968978
|
FFI: Avoid unused functions if FFI is disabled.
|
2011-05-27 02:15:55 +02:00 |
|
Mike Pall
|
12dc697eae
|
ARM: Interpreter/JIT integration, part #2.
|
2011-05-27 02:06:05 +02:00 |
|
Mike Pall
|
7683f39786
|
ARM: Fix math.ldexp() recording and folding.
|
2011-05-27 02:03:02 +02:00 |
|
Mike Pall
|
7bad42a3ba
|
Fix compiler warning.
|
2011-05-27 02:01:36 +02:00 |
|
Mike Pall
|
46955be1e2
|
Fix handling of number constants in snapshots in SPLIT pass.
|
2011-05-27 01:56:25 +02:00 |
|
Mike Pall
|
840a067d4e
|
ARM: Fix rematerialization scheduler.
|
2011-05-26 18:05:19 +02:00 |
|
Mike Pall
|
8d4400331d
|
ARM: Flush instruction cache in assembler backend.
|
2011-05-26 18:04:01 +02:00 |
|
Mike Pall
|
4057620bf5
|
Treat extra exit from stack check like a parent exit.
|
2011-05-26 18:02:42 +02:00 |
|
Mike Pall
|
625ef8626f
|
Simplify helper routines for soft-float targets. Add POW rejoin.
|
2011-05-26 18:01:55 +02:00 |
|
Mike Pall
|
ae3179926a
|
ARM: Add CPU detection.
|
2011-05-26 17:58:29 +02:00 |
|
Mike Pall
|
185554b682
|
ARM: Unify rotates to simplify assembler backend.
|
2011-05-23 20:20:34 +02:00 |
|
Mike Pall
|
7b21a660a8
|
FFI: Fix __gc for VLA/VLS cdata objects.
|
2011-05-23 02:43:36 +02:00 |
|
Mike Pall
|
afad72af25
|
ARM: Add ARM-specific tuning to generic assembler backend.
|
2011-05-22 17:54:28 +02:00 |
|
Mike Pall
|
aaba681056
|
ARM: Add rematerialization scheduler for constants to backend.
|
2011-05-22 17:50:36 +02:00 |
|
Mike Pall
|
138f54352a
|
Split up FP IR instructions with SPLIT pass for soft-float targets.
|
2011-05-22 17:44:58 +02:00 |
|
Mike Pall
|
d0115c65f5
|
More portability cleanups for assembler backend.
|
2011-05-22 17:13:16 +02:00 |
|
Mike Pall
|
919ba5fd74
|
Add missing guard to for loop argument conversion.
|
2011-05-22 16:47:55 +02:00 |
|
Mike Pall
|
effdfda673
|
Move IR_CALL* definitions to lj_ircall.h.
|
2011-05-22 16:28:43 +02:00 |
|
Mike Pall
|
3a942d6cea
|
Portability cleanups for assembler backend.
|
2011-05-17 21:26:00 +02:00 |
|
Mike Pall
|
fb46370e56
|
Cleanup of target dependencies.
|
2011-05-16 19:32:47 +02:00 |
|
Mike Pall
|
dab4bcafba
|
Add target-specific macro for stack alignment in assembler backend.
|
2011-05-16 02:43:14 +02:00 |
|
Mike Pall
|
6cb123bb99
|
Fix compiler warning.
|
2011-05-16 02:41:47 +02:00 |
|
Mike Pall
|
a251a28bd5
|
ARM: Add support for GDB JIT API.
|
2011-05-16 02:40:59 +02:00 |
|
Mike Pall
|
1ac71f1fa8
|
ARM: Add LJ_SOFTFP define. Add support for soft-float slot handling.
|
2011-05-16 02:38:07 +02:00 |
|
Mike Pall
|
be73a96751
|
ARM: Generalize machine code co-location. ARM has a +-32MB range.
|
2011-05-16 02:29:44 +02:00 |
|
Mike Pall
|
58f38c254b
|
Move x86/x64 parts of JIT assembler backend to extra files.
|
2011-05-12 01:35:09 +02:00 |
|
Mike Pall
|
800349387a
|
Disentangle target-specific parts of JIT assembler backend.
|
2011-05-12 01:27:20 +02:00 |
|
Mike Pall
|
b79cdba3a0
|
Tuning loop unrolling heuristics again.
|
2011-05-10 16:55:23 +02:00 |
|
Mike Pall
|
65d9c7cb5e
|
ARM: Fix table/userdata equality comparisons in interpreter.
|
2011-05-09 22:41:12 +02:00 |
|
Mike Pall
|
c8308e2a87
|
ARM: Interpreter/JIT integration, part #1.
|
2011-05-09 22:39:53 +02:00 |
|
Mike Pall
|
67d3ac9b19
|
Fix some portability issues with the JIT compiler.
|
2011-05-09 20:46:58 +02:00 |
|
Mike Pall
|
28e87d33e9
|
Use common helper functions for unaligned loads.
|
2011-05-09 18:09:29 +02:00 |
|
Mike Pall
|
d9c1f771a7
|
FFI: Allow setting errno with ffi.errno(), too.
|
2011-05-09 11:52:54 +02:00 |
|
Mike Pall
|
868ecad32b
|
FFI: Add ffi.errno().
|
2011-05-08 22:34:40 +02:00 |
|
Mike Pall
|
77ba7726e2
|
FFI: Save errno/GetLastError() around allocations, hooks etc.
|
2011-05-08 22:33:04 +02:00 |
|
Mike Pall
|
87553d9e77
|
Avoid name clash with Windows MM_MAX define.
|
2011-05-08 22:31:03 +02:00 |
|
Mike Pall
|
16369d5a64
|
x86/x64: Fix bit.* argument checking.
|
2011-05-06 16:06:02 +02:00 |
|
Mike Pall
|
cfdc356ebe
|
RELEASE LuaJIT-2.0.0-beta7
|
2011-05-05 16:31:13 +02:00 |
|
Mike Pall
|
693b629787
|
Improve bytecode optimization of and/or operators.
|
2011-05-05 15:49:11 +02:00 |
|
Mike Pall
|
6534152b44
|
Fix compiler warning.
|
2011-05-04 23:45:02 +02:00 |
|
Mike Pall
|
704752c612
|
FFI: Fix field alignment for iOS.
|
2011-05-04 23:30:37 +02:00 |
|
Mike Pall
|
fb8b87e818
|
More tuning of loop unrolling heuristics.
|
2011-05-04 23:21:46 +02:00 |
|
Mike Pall
|
b4006ba9a8
|
Fix stack slot updates for down-recursion.
|
2011-05-04 21:34:21 +02:00 |
|
Mike Pall
|
139175f8c4
|
Tune loop unrolling heuristics. Increase trace recorder limits.
|
2011-05-03 21:14:18 +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
|
eb7b452d53
|
x86: Pop unused FP result from x87 stack.
|
2011-04-29 19:35:25 +02:00 |
|
Mike Pall
|
b4cfaa62ac
|
Improve target OS selection for buildvm.
|
2011-04-29 09:23:00 +02:00 |
|
Mike Pall
|
0ba34ffe50
|
ARM: Fix ABI and build issues for iOS. Now works on iOS 3.0+.
|
2011-04-28 19:41:34 +02:00 |
|
Mike Pall
|
0b606061db
|
ARM: Use own lj_bswap(). Reduce min. req. version of GCC to 4.2.
|
2011-04-28 12:33:31 +02:00 |
|
Mike Pall
|
5d096dcfde
|
FFI: Add ffi.istype() function.
|
2011-04-20 01:53:26 +02:00 |
|
Mike Pall
|
9ea679410c
|
Workaround to compile with Clang. Fix Clang warnings.
|
2011-04-19 17:12:41 +02:00 |
|
Mike Pall
|
e94a12f4f6
|
Fix compiler warning.
|
2011-04-19 16:19:34 +02:00 |
|
Mike Pall
|
b3d10cdf62
|
ARM: Workaround for unaligned accesses.
|
2011-04-19 16:09:07 +02:00 |
|
Mike Pall
|
4fbacaf887
|
ARM: Allow compilation in thumb mode (CCOPT_ARM=-mthumb).
|
2011-04-18 23:44:06 +02:00 |
|
Mike Pall
|
a1ffb6114f
|
ARM: Add missing FFI functionality. Enable FFI for ARM.
|
2011-04-18 21:24:47 +02:00 |
|
Mike Pall
|
38a842a474
|
Add common TARGET_FLAGS option to Makefile.
|
2011-04-17 12:48:01 +02:00 |
|
Mike Pall
|
54994ef7be
|
ARM: Enable ARM port.
|
2011-04-17 02:36:10 +02:00 |
|
Mike Pall
|
7bb4b0f570
|
ARM: Normalize results of math.floor()/ceil() fast functions.
|
2011-04-17 02:31:00 +02:00 |
|
Mike Pall
|
32db4525d9
|
ARM: Misc. fixes for interpreter.
|
2011-04-16 23:32:44 +02:00 |
|
Mike Pall
|
add553edd8
|
ARM: Add integer variant of modulo operator.
|
2011-04-16 23:29:57 +02:00 |
|
Mike Pall
|
d636a3decd
|
ARM: Add partial support for FFI.
|
2011-04-16 23:28:51 +02:00 |
|
Mike Pall
|
fc40214279
|
ARM: Add coroutine.resume/wrap_aux/yield() fast functions.
|
2011-04-16 23:26:11 +02:00 |
|
Mike Pall
|
5f08a50506
|
FFI: Fix arithmetic ctype metamethods for references.
|
2011-04-15 19:02:47 +02:00 |
|
Mike Pall
|
31e0774a9e
|
FFI: Fix cdata finalization.
|
2011-04-13 21:37:54 +02:00 |
|
Mike Pall
|
1fa0cc09b3
|
PPC: Fix L->status for resume after yield.
|
2011-04-13 02:28:25 +02:00 |
|
Mike Pall
|
0001a7fced
|
ARM: Add BC_VARG and BC_TSETM.
|
2011-04-13 02:24:56 +02:00 |
|
Mike Pall
|
7aa7069271
|
ARM: Add dispatch targets for hooks.
|
2011-04-13 02:24:18 +02:00 |
|
Mike Pall
|
46d97d28f0
|
ARM: Add modulo subroutine and temp. math.floor()/math.ceil().
|
2011-04-13 02:22:59 +02:00 |
|
Mike Pall
|
3b6f37dd2c
|
FFI: Add ctype metamethods and ffi.metatype().
|
2011-04-12 19:16:39 +02:00 |
|
Mike Pall
|
fa5cd010e8
|
Add support for tailcalls from internal C functions.
PPC: Fix __call metamethod for tailcalls.
|
2011-04-12 19:13:11 +02:00 |
|
Mike Pall
|
23f847f4ed
|
Optimize lookups in empty proxy tables.
|
2011-04-10 21:43:21 +02:00 |
|
Mike Pall
|
a1f66abe4e
|
Avoid phantom stores to proxy tables.
|
2011-04-10 21:41:58 +02:00 |
|
Mike Pall
|
efcaef22bd
|
Inline lj_gc_barrierback().
|
2011-04-10 20:45:36 +02:00 |
|
Mike Pall
|
d85b7e636e
|
Fix recording of JLOOP with higher maxslot.
|
2011-04-10 18:00:08 +02:00 |
|
Mike Pall
|
f69524f7f1
|
PPC: Misc. fixes for interpreter.
|
2011-04-10 17:04:10 +02:00 |
|
Mike Pall
|
54e986a51d
|
ARM: Misc. fixes for interpreter.
|
2011-04-10 17:00:32 +02:00 |
|
Mike Pall
|
040c8c5737
|
ARM: Add string.* fast functions and GC steps.
|
2011-04-10 16:59:38 +02:00 |
|
Mike Pall
|
da1ef8c3b0
|
ARM: Add rawget() fast function.
|
2011-04-10 16:59:00 +02:00 |
|
Mike Pall
|
89022b4c3e
|
Use lj_vm_tobit() on targets without FPU.
|
2011-04-10 16:58:22 +02:00 |
|
Mike Pall
|
f089f3954c
|
ARM: Add bit.* fast functions and lj_vm_tobit().
|
2011-04-10 16:56:13 +02:00 |
|
Mike Pall
|
27bf481669
|
ARM: Misc. fixes for interpreter.
|
2011-04-08 03:03:10 +02:00 |
|
Mike Pall
|
b56784aae2
|
ARM: Add BC_CAT and lj_cont_cat.
|
2011-04-08 03:01:37 +02:00 |
|
Mike Pall
|
b1912f3325
|
ARM: Add missing metamethod handlers and continuations.
|
2011-04-08 02:57:22 +02:00 |
|
Mike Pall
|
aee129a789
|
ARM: Add tailcall instructions.
|
2011-04-08 02:54:11 +02:00 |
|
Mike Pall
|
16e0ecaf54
|
ARM: Add table.getn() fast function.
|
2011-04-08 02:52:24 +02:00 |
|
Mike Pall
|
9e18260fb4
|
ARM: Add upvalue get/set and closure-related instructions.
|
2011-04-08 02:50:56 +02:00 |
|
Mike Pall
|
3af41060c7
|
ARM: Add test/copy and comparison instructions.
|
2011-04-08 02:48:55 +02:00 |
|
Mike Pall
|
83e302938b
|
ARM: Add math.* fast functions.
|
2011-04-08 02:47:19 +02:00 |
|
Mike Pall
|
1f4f805c96
|
ARM: Add getmetatable(), setmetatable() and tonumber() fast functions.
|
2011-04-08 02:42:04 +02:00 |
|
Mike Pall
|
0046f955eb
|
ARM: Handle stack growth during function calls.
|
2011-04-08 02:44:56 +02:00 |
|
Mike Pall
|
1a56dacbcf
|
ARM: Add build rules (still disabled).
|
2011-04-07 16:08:34 +02:00 |
|
Mike Pall
|
ee644872e3
|
FFI: Register the FFI library as a loaded module in luaopen_ffi().
Allows loading it on startup like other libraries in lib_init.c.
|
2011-04-06 01:31:21 +02:00 |
|
Mike Pall
|
66a1006175
|
Fuse XLOAD/XSTORE operands more aggressively.
|
2011-04-05 16:32:27 +02:00 |
|
Mike Pall
|
3acd4892e9
|
Add FOLD rule for FLOAT->NUM->FLOAT conversions.
|
2011-04-05 16:31:48 +02:00 |
|
Mike Pall
|
48438b9e13
|
Fix code generation for PHIs with type IRT_FLOAT.
|
2011-04-05 16:29:40 +02:00 |
|
Mike Pall
|
5b7a8baea4
|
x64: Fix getmetatable(lightuserdata).
|
2011-04-05 13:00:13 +02:00 |
|
Mike Pall
|
314995aebf
|
ARM: Finish basic table indexing and add metamethod handlers.
|
2011-04-05 00:25:31 +02:00 |
|
Mike Pall
|
a7874cb299
|
ARM: Add assert() and type() fast functions.
|
2011-04-05 00:24:23 +02:00 |
|
Mike Pall
|
43d7db62d1
|
ARM: Add pcall() and xpcall() fast functions and unwinders.
|
2011-04-05 00:23:05 +02:00 |
|
Mike Pall
|
959683c77c
|
PPC: Minor cleanups of interpreter.
|
2011-04-04 02:00:38 +02:00 |
|
Mike Pall
|
6511941348
|
ARM: Add fast functions pairs()/next() and ipairs() + iterator.
|
2011-04-04 01:56:41 +02:00 |
|
Mike Pall
|
5b146f61b5
|
ARM: Add tostring() fast function.
|
2011-04-04 01:55:41 +02:00 |
|
Mike Pall
|
6110faadd8
|
ARM: Add basic infrastructure for fast functions.
|
2011-04-04 01:54:56 +02:00 |
|
Mike Pall
|
dd4a043b78
|
ARM: Add table indexing with string keys. Add get global.
|
2011-04-04 01:51:29 +02:00 |
|
Mike Pall
|
0e7009ddc8
|
ARM: Add table constructors.
|
2011-04-04 01:49:24 +02:00 |
|
Mike Pall
|
81fa9e34cd
|
ARM: Add call and iterator call instructions.
|
2011-04-04 01:47:23 +02:00 |
|
Mike Pall
|
85fff386ef
|
ARM: Add missing parts of return handling.
|
2011-04-04 01:46:08 +02:00 |
|
Mike Pall
|
f1c79f80c2
|
ARM: Minor fixes and cleanups for type checks.
|
2011-04-04 01:44:54 +02:00 |
|
Mike Pall
|
5b06b298a2
|
ARM: Add binary arithmetic instructions.
|
2011-03-30 21:56:05 +02:00 |
|
Mike Pall
|
a0e4711055
|
ARM: Add basic loop and branch instructions.
|
2011-03-30 21:54:33 +02:00 |
|
Mike Pall
|
7b0a125cf7
|
ARM: Add basic unary bytecode instructions.
|
2011-03-29 02:31:47 +02:00 |
|
Mike Pall
|
ca494b72a9
|
ARM: Add support to call Lua functions and return from them.
|
2011-03-29 02:30:41 +02:00 |
|
Mike Pall
|
c04a252a06
|
ARM: Add support to call C functions.
|
2011-03-29 02:29:27 +02:00 |
|
Mike Pall
|
cff08b2315
|
ARM: Add entry and exit points into VM. Add type check macros.
|
2011-03-29 02:24:35 +02:00 |
|
Mike Pall
|
3bcb48c6a1
|
ARM: Add frame unwind info for assembler part.
|
2011-03-29 02:23:05 +02:00 |
|
Mike Pall
|
71f976b02e
|
ARM: Add instruction/call decode + dispatch macros.
|
2011-03-29 02:26:09 +02:00 |
|
Mike Pall
|
98e3c8a8ff
|
ARM: Add register assignments, type definitions and stack layout.
|
2011-03-29 02:18:36 +02:00 |
|
Mike Pall
|
4c9a10f3ad
|
Avoid compiler warning.
|
2011-03-28 19:22:17 +02:00 |
|
Mike Pall
|
492efb7e7e
|
Clean up DynASM glue macros. Thanks to Josh Haberman.
|
2011-03-28 15:06:30 +02:00 |
|
Mike Pall
|
32aef8aee4
|
ARM: Add skeleton for ARM interpreter.
|
2011-03-26 18:42:41 +01:00 |
|
Mike Pall
|
b6ed984843
|
ARM: Add support for ARM relocations to buildvm.
|
2011-03-26 18:40:11 +01:00 |
|
Mike Pall
|
7088abce8f
|
DUALNUM: Fix narrowing of unary minus.
|
2011-03-19 17:46:10 +01:00 |
|
Mike Pall
|
a1c887e3b9
|
Fix data-flow analysis for BC_ITERC.
|
2011-03-19 17:30:15 +01:00 |
|
Mike Pall
|
642ae06916
|
x64: Use external unwinding for lua_yield().
|
2011-03-18 23:38:05 +01:00 |
|
Mike Pall
|
063182d79c
|
FFI: Fix marking of ffi.gc() finalizer table.
|
2011-03-17 17:31:48 +01:00 |
|
Mike Pall
|
ac3b1dcfc5
|
x64: Workaround for libgcc unwind bug (still present in RHEL 5.5).
|
2011-03-17 16:06:41 +01:00 |
|
Mike Pall
|
6299485000
|
DUALNUM: Narrow result of math.floor() and math.ceil().
|
2011-03-15 18:15:42 +01:00 |
|
Mike Pall
|
dcbae09b1d
|
DUALNUM: Narrow unary minus.
|
2011-03-15 18:14:18 +01:00 |
|
Mike Pall
|
a226fb4cc7
|
FFI: Force snapshot after C call to preserve semantics.
|
2011-03-15 14:56:42 +01:00 |
|
Mike Pall
|
7fb1075903
|
DUALNUM: Add integer variant of MIN/MAX.
|
2011-03-11 23:28:46 +01:00 |
|
Mike Pall
|
889368e921
|
Get rid of the remaining silly cast macros from Lua.
|
2011-03-10 02:13:43 +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
|
1c9981ae4c
|
x86/x64: Fix code generation for fused IR_MUL/IR_MULOV.
|
2011-03-10 01:09:18 +01:00 |
|
Mike Pall
|
a127eaf8d2
|
FFI: Fix x86 code generation for ffi.string().
|
2011-03-10 00:57:02 +01:00 |
|
Mike Pall
|
30cc4d3bba
|
Fix handling of err_loc() within cpcall frames.
|
2011-03-09 22:39:17 +01:00 |
|
Mike Pall
|
0125ee8211
|
DUALNUM: Add extra assertions to interpreter.
|
2011-03-09 22:38:53 +01:00 |
|
Mike Pall
|
449cee405c
|
Fix code generation for bit.bnot().
|
2011-03-07 22:11:01 +01:00 |
|
Mike Pall
|
54978e481b
|
DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV.
|
2011-03-07 20:21:38 +01:00 |
|
Mike Pall
|
a30f58b54b
|
DUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.
|
2011-03-07 20:12:39 +01:00 |
|
Mike Pall
|
8eb09fe820
|
Suppress recording of retried fast functions.
|
2011-03-07 20:03:38 +01:00 |
|
Mike Pall
|
f29a9d4341
|
Fix narrowing of POW.
|
2011-03-03 17:29:09 +01:00 |
|
Mike Pall
|
1cb58fb7bb
|
Fix code generation for Intel Atom in x64 mode.
|
2011-03-03 00:49:45 +01:00 |
|
Mike Pall
|
6c43767c23
|
FFI: Resolve ld script redirection in ffi.load().
|
2011-03-01 12:31:16 +01:00 |
|
Mike Pall
|
e1aa8d0d97
|
FFI: Fix compiled ffi.string() semantics.
|
2011-02-28 19:47:51 +01:00 |
|
Mike Pall
|
83a37aeca7
|
FFI: Add ffi.gc() function for finalization of cdata objects.
|
2011-02-28 16:48:13 +01:00 |
|
Mike Pall
|
cead25f928
|
DUALNUM: Handle integer type in x86/x64 interpreter and libraries.
|
2011-02-27 01:36:59 +01:00 |
|
Mike Pall
|
c031d4b6a0
|
DUALNUM: Handle integer type in FFI.
|
2011-02-27 01:31:22 +01:00 |
|
Mike Pall
|
d437086c5a
|
x64: Improve accuracy of x^-k.
|
2011-02-25 11:47:34 +01:00 |
|
Mike Pall
|
b90d80d80a
|
Fix table.maxn().
|
2011-02-23 14:52:50 +01:00 |
|
Mike Pall
|
a720db409d
|
FFI: Record calls to functions with void results.
|
2011-02-23 00:28:49 +01:00 |
|
Mike Pall
|
4c97cc7730
|
Eliminate dead slots in snapshots using bytecode data-flow analysis.
|
2011-02-22 22:39:12 +01:00 |
|
Mike Pall
|
8d0b073ff0
|
From Lua 5.2: Support load(string).
|
2011-02-20 21:17:49 +01:00 |
|
Mike Pall
|
2bae11a49a
|
From Lua 5.2: fp:read("*L").
|
2011-02-20 21:07:19 +01:00 |
|
Mike Pall
|
c823e26b8b
|
From Lua 5.2: table.unpack(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-02-20 20:53:09 +01:00 |
|
Mike Pall
|
baef199ece
|
From Lua 5.2: Add package.searchpath().
Thanks to F. Perrad.
|
2011-02-20 20:48:13 +01:00 |
|
Mike Pall
|
f83d58d6fb
|
From Lua 5.2: Empty statement. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-02-20 20:38:36 +01:00 |
|
Mike Pall
|
d82022a656
|
From Lua 5.2: coroutine.running(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-02-20 20:33:00 +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
|
bd29d16141
|
FFI: Improve conversion error messages.
|
2011-02-19 12:56:12 +01:00 |
|
Mike Pall
|
03946ac978
|
DUALNUM: Add integer type to core VM.
|
2011-02-17 00:44:14 +01:00 |
|
Mike Pall
|
963f05c7e1
|
DUALNUM: Add build infrastructure.
Note: DUALNUM is disabled by default and won't work yet.
|
2011-02-17 00:42:57 +01:00 |
|
Mike Pall
|
54b6054087
|
FFI: Fix management of C library handles for default namespace.
|
2011-02-16 23:52:18 +01:00 |
|
Mike Pall
|
5fe7282d4c
|
Fix error handling within metamethods. Special-case FFI mm.
|
2011-02-16 00:38:23 +01:00 |
|
Mike Pall
|
4dca589af0
|
Add workaround for lj_meta_tset() newkey inconsistency.
|
2011-02-15 01:02:08 +01:00 |
|
Mike Pall
|
4117a61620
|
PPC: Disable FFI due to NYI: comparisons and calls.
|
2011-02-14 23:25:18 +01:00 |
|
Mike Pall
|
19b84009b2
|
Fix type mismatch in XSTORE forwarding.
|
2011-02-14 23:02:16 +01:00 |
|
Mike Pall
|
97d84111fd
|
RELEASE LuaJIT-2.0.0-beta6
|
2011-02-11 16:28:37 +01:00 |
|
Mike Pall
|
7c61073a30
|
FFI: Disable unused code for some build modes.
|
2011-02-11 16:22:58 +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 |
|