Mike Pall
|
f385af7084
|
FFI: Record 64 bit integer comparisons and pointer comparisons.
|
2011-01-17 01:23:04 +01:00 |
|
Mike Pall
|
06f99fc3df
|
Bump copyright date to 2011.
|
2011-01-09 17:12:53 +01:00 |
|
Mike Pall
|
bc37edc911
|
Fix handling of floats in x86/x64 backend.
|
2011-01-05 21:45:09 +01:00 |
|
Mike Pall
|
44a22b9889
|
Add support for non-constant integer IR_MUL to backend.
|
2011-01-03 02:58:31 +01:00 |
|
Mike Pall
|
593821f7d9
|
Add support for integer IR_NEG to backend.
|
2011-01-03 02:35:30 +01:00 |
|
Mike Pall
|
e66b5b6eee
|
Improve uint64_t <-> FP conversions in x64 backend.
|
2011-01-02 20:43:58 +01:00 |
|
Mike Pall
|
0005b2c2b9
|
Add support for uint64_t <-> FP conversions to x64 backend.
|
2011-01-02 18:24:31 +01:00 |
|
Mike Pall
|
3b47eba9cc
|
Add 8/16 to 32 bit sign/zero-extension variants to CONV.
|
2010-12-31 22:49:23 +01:00 |
|
Mike Pall
|
007067bdd8
|
Fix register allocation for FP <- int conversion.
|
2010-12-31 22:18:14 +01:00 |
|
Mike Pall
|
783dbd335f
|
Refactoring of conversion ops, part 5: drop TOINT/TOI64/TONUM.
|
2010-12-31 04:09:32 +01:00 |
|
Mike Pall
|
65b194a2f8
|
Copy destination type for CONV from ir->t to op2, too.
|
2010-12-31 01:00:54 +01:00 |
|
Mike Pall
|
8bcc5ed021
|
Add support for IRT_FLOAT to XLOAD/XSTORE.
|
2010-12-30 00:36:33 +01:00 |
|
Mike Pall
|
2ca2de7f0e
|
Refactoring of conversion ops, part 1: add IR_CONV.
|
2010-12-30 00:35:32 +01:00 |
|
Mike Pall
|
6082f93919
|
Improve register allocation for loops with variable shifts.
|
2010-12-23 00:55:31 +01:00 |
|
Mike Pall
|
c8d6f078a5
|
Fix XSTORE for IRT_NUM constants.
|
2010-12-20 19:34:15 +01:00 |
|
Mike Pall
|
255c6e8c87
|
FFI: Drop IR_CNEWI. Add IR_CNEWP only for pointers/refs.
|
2010-12-17 17:20:04 +01:00 |
|
Mike Pall
|
cdac0fa2cb
|
FFI: Add IR_CNEW/IR_CNEWI to allocate/init cdata objects.
|
2010-12-11 19:32:12 +01:00 |
|
Mike Pall
|
e9cab5a763
|
x86/x64 backend: keep invariants on the right rather than fusing loads.
|
2010-12-09 16:08:55 +01:00 |
|
Mike Pall
|
3c78a7f468
|
Avoid fusing loads if there are multiple references.
|
2010-12-08 03:26:53 +01:00 |
|
Mike Pall
|
72744dabd9
|
Fix IRT_NUM support for XLOAD/XSTORE.
|
2010-12-08 03:24:35 +01:00 |
|
Mike Pall
|
3ef6a53cfa
|
FFI: Turn cdata indexing into x86/x64 [base+idx*sz+ofs] addressing.
|
2010-12-08 02:36:09 +01:00 |
|
Mike Pall
|
d4d95ee2da
|
Fix x64 code generation for A16+REX prefixed instructions.
|
2010-12-08 01:57:50 +01:00 |
|
Mike Pall
|
e6093b129a
|
Fix register allocation for 8 bit stores in x86 backend.
|
2010-12-07 01:18:10 +01:00 |
|
Mike Pall
|
b3c4c0810a
|
Add IRT_NUM support to XLOAD/XSTORE.
|
2010-12-06 19:28:51 +01:00 |
|
Mike Pall
|
159f51d811
|
Add IR_TOI64.
|
2010-12-06 18:21:51 +01:00 |
|
Mike Pall
|
a5bdae8f23
|
Fix 64 bit shifts in backend. Fix shift by 0.
|
2010-12-06 13:16:35 +01:00 |
|
Mike Pall
|
5270586a80
|
Fix XLOAD/XSTORE references.
|
2010-12-06 13:15:53 +01:00 |
|
Mike Pall
|
86fd2289f0
|
Add support for integer IR_MUL.
|
2010-12-06 12:54:00 +01:00 |
|
Mike Pall
|
b56b83487f
|
Support all kinds of XLOAD/XSTORE references in backend.
Fuse pointer arithmetic, too.
|
2010-12-06 03:10:28 +01:00 |
|
Mike Pall
|
4755765e32
|
Avoid warning.
|
2010-12-06 01:59:07 +01:00 |
|
Mike Pall
|
db3d16bfd7
|
Add IR_XSTORE.
|
2010-12-06 01:48:19 +01:00 |
|
Mike Pall
|
588fa0481f
|
Add support for 64 bit integer arithmetic to x64 backend.
|
2010-12-06 00:07:36 +01:00 |
|
Mike Pall
|
c5f4f607c9
|
Fix xmm spill/restore broken by b1fb71fb.
|
2010-12-05 22:39:36 +01:00 |
|
Mike Pall
|
5a13fa69d9
|
Add IR_KINT64.
|
2010-12-05 22:12:31 +01:00 |
|
Mike Pall
|
b1fb71fb98
|
Cleanup 64 bit IR type handling.
|
2010-12-05 21:01:08 +01:00 |
|
Mike Pall
|
26830d070d
|
Make sure to use irt_toitype() macro everywhere.
|
2010-12-05 18:51:37 +01:00 |
|
Mike Pall
|
24baf77955
|
Cleanup architecture, ABI and OS definitions.
|
2010-11-16 15:03:40 +01:00 |
|
Mike Pall
|
fe21a42a92
|
Fix conflict between loop branch inversion and HREF+NE/EQ merging.
|
2010-11-05 23:12:43 +01:00 |
|
Mike Pall
|
b3cf2c70f4
|
Decouple SLOAD type and optional conversion.
|
2010-10-11 21:13:37 +02:00 |
|
Mike Pall
|
cc62edebfd
|
x64: Fix type check for numbers in compiled code.
|
2010-10-11 19:24:12 +02:00 |
|
Mike Pall
|
52b922c1e9
|
Avoid fusing potentially negative indexes into AREF on x64.
|
2010-09-18 18:34:38 +02:00 |
|
Mike Pall
|
8dc76ee327
|
Add IR_VLOAD for vararg loads.
Also fixes the broken AA improvement in the last commit.
|
2010-09-14 19:58:27 +02:00 |
|
Mike Pall
|
847b9cf253
|
Record vararg expressions with varargs defined off-trace.
Add SLOAD variant to access the frame type/size.
|
2010-09-13 01:17:38 +02:00 |
|
Mike Pall
|
33ef1fa524
|
Untangle some target dependencies.
|
2010-08-03 22:09:12 +02:00 |
|
Mike Pall
|
d05873ee0a
|
Abstract out pointer hash to hashrot(). Tune hash constants.
|
2010-07-21 22:06:38 +02:00 |
|
Mike Pall
|
0d3f190d94
|
Fix passing of constant args in FPRs on x64.
|
2010-07-14 13:04:29 +02:00 |
|
Mike Pall
|
5ff994fa37
|
Add weak guards. Emit TNEW/TDUP with a guard bit.
|
2010-05-08 18:59:59 +02:00 |
|
Mike Pall
|
2e24770ed3
|
Simplify management of current trace. Drop lazy save.
|
2010-04-25 13:53:33 +02:00 |
|
Mike Pall
|
721b73fecb
|
Turn traces into true GC objects (GCtrace).
|
2010-04-25 03:32:29 +02:00 |
|
Mike Pall
|
d8cb69ed07
|
Simplify GC step calls from on-trace code.
|
2010-04-19 23:41:48 +02:00 |
|