Commit Graph

2708 Commits

Author SHA1 Message Date
Joel Dice
85fcbb82b3 more ARM64 bugfixes 2014-12-24 08:12:36 -07:00
Joel Dice
78735b35a8 more ARM64 bugfixes, more passing tests 2014-12-23 21:09:43 -07:00
Joel Dice
cbea966d1d various ARM64 JIT bugfixes
Three of the tests now pass.  Yay!
2014-12-23 16:59:04 -07:00
Joel Dice
9158ee39c0 remove 64-bit code from compile-arm.S since it's moved to compile-arm64.S 2014-12-23 16:57:40 -07:00
Joel Dice
b519e245e2 finish implementing operations64.cpp for ARM64 support
This is totally untested so far.
2014-12-22 12:59:27 -07:00
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