b3bd58aeff
work in progress towards 64-bit ARM JIT support
...
This won't build, it's just a snapshot of what I have so far.
Conflicts:
include/avian/codegen/architecture.h
include/avian/codegen/registers.h
src/codegen/compiler.cpp
src/codegen/compiler/event.cpp
src/codegen/compiler/site.cpp
src/codegen/compiler/site.h
src/codegen/registers.cpp
src/codegen/target/arm/assembler.cpp
src/codegen/target/arm/registers.h
2014-12-22 12:59:26 -07:00
8f797e9b4c
add non-member begin/end methods for older compilers
2014-12-09 11:47:36 -07:00
01de3d9d5c
remove lingering 32-count limits on registers, refactor iteration, improve constants, ...
2014-12-09 11:18:00 -07:00
a749ba7adc
replace (int8_t)Register cast with Register::index()
2014-12-09 08:19:44 -07:00
08f524a106
add convenience (1 << lir::Operand::Type::*) shortcuts (lir::Operand::*Mask)
2014-12-09 08:19:44 -07:00
a3ccc94cf5
make BoundedRegisterMask a subclass of RegisterMask
2014-12-09 08:19:44 -07:00
6b889b1d78
get rid of implicit Register casts
2014-12-09 08:19:44 -07:00
7c24701d37
transition x86 registers to Register instances
2014-12-09 08:19:44 -07:00
3bad154602
add back NoRegister and remove some implicit int->Register casts
2014-12-09 08:19:44 -07:00
998a5168b7
make Register a class
2014-12-09 08:19:44 -07:00
02d1a83ad9
rename lir::Register to lir::RegisterPair
2014-12-09 08:19:43 -07:00
2939480a65
begin renaming lir:: types
2014-12-09 08:19:43 -07:00
94761711c9
make RegisterMask a class
2014-12-09 08:19:43 -07:00
61e79d4f3b
typdef Register
2014-12-09 08:19:43 -07:00
45cc85829a
remove old 32-bit registerMask stuff
2014-12-09 08:19:43 -07:00
76197e1f1d
typedef RegisterMask
2014-12-09 08:19:43 -07:00
f187361889
rename RegisterMask to BoundedRegisterMask
2014-12-09 08:19:43 -07:00
1110d3ff50
begin converting to setLowHighRegisterMasks
2014-12-09 08:19:43 -07:00
ac72aa8b91
split low/high register mask in OperandMask
2014-12-09 08:19:42 -07:00
51b510cbea
first pass at cmake + visual studio support
2014-07-30 14:15:15 -06:00
31de9a48c9
reformat
2014-07-24 10:09:29 -06:00
1ad1fe9048
use enum class in ir
2014-07-24 10:09:29 -06:00
060b5c8f13
use c++11 variadic templates in Compiler::call
2014-07-24 10:09:29 -06:00
4d79f3bea1
Replace Allocator with Alloc or AllocOnly where possible
2014-07-16 18:51:35 -06:00
2d0ac3ac17
reduce vm::Zone interface
2014-07-16 18:41:02 -06:00
29ee088f19
remove unused Half type
2014-07-16 18:41:02 -06:00
836cc41320
bulk, global reformat
2014-07-11 13:25:22 -06:00
7642b94308
reformat changes since master
2014-07-11 13:25:22 -06:00
b5699cc9dc
move Machine::*Type to GcObject::*Type
2014-07-11 09:32:55 -06:00
05d80aee8b
remove static references to TargetBytesPerWord in Compiler
2014-06-01 14:57:05 -06:00
1fb6a0bceb
fix up creation of ir::Type
2014-06-01 14:22:51 -06:00
9273d5ca39
remove redundant Compiler::initLocal footprint parameter
2014-05-30 23:40:24 -06:00
91c5599fc0
remove redundant Compiler::storeLocal footprint parameter
2014-05-30 23:40:23 -06:00
008bb6b86e
remove redundant Compiler::unaryOp type parameter
2014-05-30 23:40:23 -06:00
b14709c54c
remove redundant Compiler::condJump type parameter
2014-05-30 23:40:22 -06:00
33d946d249
remove redundant Compiler::store srcType parameter
2014-05-30 23:40:22 -06:00
e3d01746e8
remove redundant Compiler::truncate srcType parameter
2014-05-30 23:40:22 -06:00
b853f1a594
remove redundant f2i & i2f aType parameter
2014-05-30 23:40:22 -06:00
c843a97e23
remove redundant f2f aType parameter
2014-05-30 23:40:21 -06:00
963b371e04
remove redundant load srcType parameter
2014-05-30 23:40:21 -06:00
6fdd5d13ca
remove redundant return_ type parameter
2014-05-30 23:40:21 -06:00
746c0fa0e8
remove ir::Type::Invalid, no longer needed for Subroutine
2014-05-30 23:40:21 -06:00
5ad1a14a73
explode Subroutines in compile.cpp rather than handling them in Compiler
2014-05-30 23:40:21 -06:00
cb7f570f20
begin enforcing more strong typing
2014-05-30 22:51:03 -06:00
43eb49cf53
fix sizing of some stack ints
2014-05-30 22:41:11 -06:00
f9cbca8f7d
pair up stack for NativeCallingConvention
2014-05-30 22:41:11 -06:00
69edeaadee
remove redundant Compiler::stackCall footprint argument
2014-05-30 22:41:11 -06:00
97ce7d2b4e
pass CallEvent arguments in Slice as well
2014-05-30 22:41:10 -06:00
ad3ec1abf3
introduce Frame::stackCall util
2014-05-30 22:41:10 -06:00
479c056b2c
move Compiler::Operand to ir::Value
2014-05-30 22:41:10 -06:00