Commit Graph

132 Commits

Author SHA1 Message Date
Joel Dice
763aada4b0 optionally specify reentrancy when creating a System object
This allows multiple Avian VMs to share the same process space,
provided they don't try to use functionality that involves global
shared resources (e.g. signal handling).
2015-09-12 20:08:54 -06:00
Joshua Warner
1fcc097344 use size_t instead of unsigned in a bunch of appropriate places
This would theoretically break compatibility with apps using embedded
classpaths, on big-endian architectures - because of the size type
extension.  However, we don't currently support any big-endian
architectures, so it shouldn't be a problem.
2015-03-16 16:28:20 -06:00
Joel Dice
cbde34620c update copyright years 2015-03-13 12:52:59 -06:00
Joshua Warner
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
Joshua Warner
8f797e9b4c add non-member begin/end methods for older compilers 2014-12-09 11:47:36 -07:00
Joshua Warner
01de3d9d5c remove lingering 32-count limits on registers, refactor iteration, improve constants, ... 2014-12-09 11:18:00 -07:00
Joshua Warner
a749ba7adc replace (int8_t)Register cast with Register::index() 2014-12-09 08:19:44 -07:00
Joshua Warner
08f524a106 add convenience (1 << lir::Operand::Type::*) shortcuts (lir::Operand::*Mask) 2014-12-09 08:19:44 -07:00
Joshua Warner
a3ccc94cf5 make BoundedRegisterMask a subclass of RegisterMask 2014-12-09 08:19:44 -07:00
joshuawarner32@gmail.com
6b889b1d78 get rid of implicit Register casts 2014-12-09 08:19:44 -07:00
joshuawarner32@gmail.com
7c24701d37 transition x86 registers to Register instances 2014-12-09 08:19:44 -07:00
joshuawarner32@gmail.com
3bad154602 add back NoRegister and remove some implicit int->Register casts 2014-12-09 08:19:44 -07:00
joshuawarner32@gmail.com
998a5168b7 make Register a class 2014-12-09 08:19:44 -07:00
joshuawarner32@gmail.com
02d1a83ad9 rename lir::Register to lir::RegisterPair 2014-12-09 08:19:43 -07:00
joshuawarner32@gmail.com
2939480a65 begin renaming lir:: types 2014-12-09 08:19:43 -07:00
joshuawarner32@gmail.com
94761711c9 make RegisterMask a class 2014-12-09 08:19:43 -07:00
joshuawarner32@gmail.com
61e79d4f3b typdef Register 2014-12-09 08:19:43 -07:00
Joshua Warner
45cc85829a remove old 32-bit registerMask stuff 2014-12-09 08:19:43 -07:00
Joshua Warner
76197e1f1d typedef RegisterMask 2014-12-09 08:19:43 -07:00
Joshua Warner
f187361889 rename RegisterMask to BoundedRegisterMask 2014-12-09 08:19:43 -07:00
Joshua Warner
1110d3ff50 begin converting to setLowHighRegisterMasks 2014-12-09 08:19:43 -07:00
Joshua Warner
ac72aa8b91 split low/high register mask in OperandMask 2014-12-09 08:19:42 -07:00
Joel Dice
d52d0f6d96 add process=interpret support for Linux/ARM64
This makes all the tests pass for the platform=linux arch=arm64
process=interpret build.  Next step: process=compile support.
2014-11-25 20:02:59 -07:00
Joshua Warner
51b510cbea first pass at cmake + visual studio support 2014-07-30 14:15:15 -06:00
Joshua Warner
31de9a48c9 reformat 2014-07-24 10:09:29 -06:00
Joshua Warner
1ad1fe9048 use enum class in ir 2014-07-24 10:09:29 -06:00
Joshua Warner
060b5c8f13 use c++11 variadic templates in Compiler::call 2014-07-24 10:09:29 -06:00
Joshua Warner
4d79f3bea1 Replace Allocator with Alloc or AllocOnly where possible 2014-07-16 18:51:35 -06:00
Joshua Warner
fa1e3d74c0 reduce Allocator interface 2014-07-16 18:51:29 -06:00
Joshua Warner
2d0ac3ac17 reduce vm::Zone interface 2014-07-16 18:41:02 -06:00
Joshua Warner
eb92c904c6 split Tokenizer into its own header 2014-07-16 18:41:02 -06:00
Joshua Warner
29ee088f19 remove unused Half type 2014-07-16 18:41:02 -06:00
Joshua Warner
80cf745424 move executable allocator out of System class 2014-07-16 18:40:57 -06:00
Joshua Warner
a1631c00f9 use size_t in Allocator 2014-07-16 18:10:51 -06:00
Joshua Warner
4e9da8deb2 use static_cast in place of c-style cast (code review feedback) 2014-07-12 09:43:54 -06:00
Joshua Warner
836cc41320 bulk, global reformat 2014-07-11 13:25:22 -06:00
Joshua Warner
7642b94308 reformat changes since master 2014-07-11 13:25:22 -06:00
Joshua Warner
b4798550a3 add machine.cpp changes 2014-07-11 13:25:20 -06:00
Joshua Warner
00e2307c39 apply machine.h changes 2014-07-11 13:25:19 -06:00
Joshua Warner
263e349cae rename assert to assertT, to avoid conflict with std assert macro 2014-07-11 09:32:57 -06:00
Joshua Warner
b5699cc9dc move Machine::*Type to GcObject::*Type 2014-07-11 09:32:55 -06:00
Joshua Warner
13452beaab use arg-parser in type-generator 2014-07-11 09:12:34 -06:00
Joshua Warner
05d80aee8b remove static references to TargetBytesPerWord in Compiler 2014-06-01 14:57:05 -06:00
Joshua Warner
1fb6a0bceb fix up creation of ir::Type 2014-06-01 14:22:51 -06:00
Joshua Warner
9273d5ca39 remove redundant Compiler::initLocal footprint parameter 2014-05-30 23:40:24 -06:00
Joshua Warner
91c5599fc0 remove redundant Compiler::storeLocal footprint parameter 2014-05-30 23:40:23 -06:00
Joshua Warner
008bb6b86e remove redundant Compiler::unaryOp type parameter 2014-05-30 23:40:23 -06:00
Joshua Warner
b14709c54c remove redundant Compiler::condJump type parameter 2014-05-30 23:40:22 -06:00
Joshua Warner
33d946d249 remove redundant Compiler::store srcType parameter 2014-05-30 23:40:22 -06:00
Joshua Warner
e3d01746e8 remove redundant Compiler::truncate srcType parameter 2014-05-30 23:40:22 -06:00