Joshua Warner
a6e88a8faa
fix some merge-introduced problems
2014-12-22 12:59:27 -07:00
Joel Dice
123570515f
snapshot of ARM64 instruction encoding work
...
Still not building, but more progress.
2014-12-22 12:59:26 -07: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
5ce8c2ed54
fix compile-arm64.S when using the apple toolchain
2014-12-10 15:22:02 -07:00
Joshua Warner
a200d4d529
pull in initial version of compile-arm64.S, to fix arm64 build (untested)
...
Initial implementation courtesy Joel Dice (@dicej)
2014-12-10 15:14:47 -07:00
Joshua Warner
f8b9fcf198
split asm files by architecture (x86 -> i386,x86_64 ; arm -> arm,arm64)
2014-12-10 15:14:18 -07:00
Joshua Warner
8be7b6aeb3
correct THREAD_STATE_THREAD register for arm64 on darwin
2014-12-09 16:34:46 -07:00
Joshua Warner
46e445017e
make sure binary-to-object doesn't generate empty objects for invalid format/architecture combinations
2014-12-09 14:56:59 -07:00
Joshua Warner
5e0f7590d9
fix process=interpret build for 'arch=arm64 platform=ios'
2014-12-09 14:56:59 -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
joshuawarner32@gmail.com
d4045629d7
Remove unnecessary (int8_t) casts in arm backend
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
10442dc7d6
finish renaming lir:: types (fixup arm)
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
87465e890b
typedef Register and RegisterMask in arm
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
a509575a86
remove unused arm utilities / constants
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
0b89357968
Merge pull request #368 from dicej/printf-formats
...
use inttypes.h macros to determine printf format symbols if possible
2014-11-12 10:28:59 -07:00
Joel Dice
1b19dc2c4f
use inttypes.h macros to determine printf format symbols if possible
...
This addresses a recent regression where different versions of
MinGW(-w64) had different opinions about whether to use e.g. %I64d or
%lld to print 64-bit integers on 32-bit platforms.
2014-11-11 14:13:26 -07:00
Timofey Lagutin
fd2cdafed3
builtin.cpp: Remove native Class.getDeclaringClass()
...
It's implemented in pure Java and is not used.
2014-11-07 14:40:31 +03:00
Joel Dice
adcaeb513c
Merge pull request #363 from lostdj/patch-4
...
interpret.invokeNative(): call native function with a right signature
2014-10-31 07:16:04 -06:00
lostdj
b7abaf7a78
interpret.invokeNative(): call native function with a right signature
2014-10-31 12:22:13 +03:00
Joel Dice
347a56824a
fix MSYS/MinGW build
...
MinGW defines __STRICT_ANSI__ when -std=c++0x is specified, which we
have to override in order to get e.g. strdup. Also, we need to
specify -D_WIN32_WINNT=0x0500 to get post-Windows-2000 functions like
GetModuleHandleEx. Finally, it seems that GCC 4.8.1 wants us to use
%I64d instead of %lld on Windows.
2014-10-27 09:39:53 -06:00
Joel Dice
82952b29d9
Merge pull request #360 from xranby/master
...
Implement JVM_FindClassFromCaller OpenJDK: 8015256: Better class accessibility
2014-10-27 08:48:42 -06:00
Xerxes Rånby
2e5990a6b0
OpenJDK: Implement JVM_FindClassFromCaller
...
8015256: Better class accessibility
Summary: Improve protection domain check in forName()
Signed-off-by: Xerxes Rånby <xerxes@gudinna.com>
2014-10-26 21:46:09 +01:00
Timofey Lagutin
d8f66a84ea
jnienv.h: deleted redefinition of BOOTCLASSPATH_APPEND_OPTION
2014-10-25 17:43:46 +04:00
Joel Dice
d930fbcda2
ensure Object.notify is available for Android classpath build and reduce duplication
2014-10-10 07:38:41 -06:00
Joel Dice
1575b901d4
implement Class.getEnclosingClass
2014-10-09 08:01:42 -06:00
Joel Dice
fbcdfd6dec
Merge remote-tracking branch 'dicej/android-upgrade'
2014-10-08 13:41:50 -06:00
Joshua Warner
03c1f43304
make x86 backend build on arm
2014-10-06 11:01:48 -06:00
Joel Dice
ffb0f9b345
provide slightly more complete Thread.nativeGetStatus implementation
...
This fixes SimpleFramework (which depends on Thread.getState returning
Thread.State.NEW for unstarted threads) when using the Android class
library.
2014-09-29 11:08:41 -06:00
Joel Dice
b406e9c2ed
Merge remote-tracking branch 'origin/master' into android-upgrade
2014-09-24 10:59:39 -06:00
Joel Dice
f347414675
abort if JIT triggered when AVIAN_AOT_ONLY is defined
...
If AVIAN_AOT_ONLY is defined and the VM is asked to compile a method
anyway, we should abort immediately rather than let it crash later
(e.g. due to an access violation on a non-jailbroken iPhone). This
makes debugging such issues a bit easier since the failure will come
earlier and with a more obvious cause.
2014-09-22 16:35:53 -06:00
Joel Dice
69d9ab004a
implement JVM_isNaN
...
This method was previously unimplemented and untested. However, the
JMH benchmark suite requires it, so now it's time to implement it.
2014-09-21 17:31:45 -06:00
Joel Dice
ce91905b33
fix segfault in BuiltinElement::dispose
...
If a BuiltinElement is never used (i.e. we never try to load anything
from it), its init method will never be called, and thus its backing
library will never be loaded. In that case, we should not try to call
library->disposeAll() in the destructor.
2014-09-15 09:03:02 -06:00
Joel Dice
1ca3e9a549
add Avian_java_lang_Thread_nativeSetName stub
2014-09-15 08:57:30 -06:00