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