Commit Graph

79 Commits

Author SHA1 Message Date
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