Joel Dice
9f14d63592
initialize MyProcessor::getStackTrace::Visitor::trace in case visit is never called
2009-11-24 19:15:27 -07:00
Stan
728a6ba706
use MapViewOfFile instead of mmap on Windows
2009-11-24 08:24:37 -07:00
Joel Dice
a0d763d871
use cmpxchgq for 64-bit operands in atomicCompareAndSwap
2009-11-20 15:17:35 -07:00
Joel Dice
2276eece0e
support atomicCompareAndSwap on powerpc for GCC versions prior to 4.1
2009-11-20 15:14:27 -07:00
Joel Dice
b83314e884
fix powerpc build
2009-11-20 10:42:02 -07:00
Joel Dice
15eada93ed
implement atomicCompareAndSwap on x86_32 for GCC versions prior to 4.1 and for MSVC
2009-11-20 10:40:01 -07:00
Joel Dice
e91157a390
avoid acquiring a mutex recursively in markDirty
2009-11-19 19:41:49 -07:00
Joel Dice
5f5cc57d12
only use atomic operations if the compiler supports them
2009-11-19 19:32:54 -07:00
Joel Dice
fdde34694c
use atomic operations in MyHeap::mark to avoid need for mutex
2009-11-19 18:13:00 -07:00
Joel Dice
c711ac5701
return null from NewString[UTF] if the char* parameter is null
2009-11-18 11:01:47 -07:00
Joel Dice
5b8a7ca566
temporarily disable use of SSE on 32-bit systems until a bug involving memory<->SSE-register moves is fixed
2009-11-04 15:16:06 +00:00
Joel Dice
fb5796b740
don't use SSE for long-to-double conversion on 32-bit systems
2009-11-04 00:02:38 +00:00
Joel Dice
82d2be8e71
implement JavaVM::AttachCurrentThreadAsDaemon
2009-11-03 14:52:14 -07:00
Joel Dice
4566e7a7dd
avoid infinite loop in deadWord
2009-11-03 14:14:27 -07:00
Joel Dice
ed4206b06d
fix order-of-operations bug in compile loop
...
The code was capturing branch snapshots too early - before the call to
populateSources which might perform further moves.
2009-11-02 21:11:39 -07:00
Joel Dice
e825da60aa
update continuation constants to reflect new field offsets
2009-10-30 00:45:46 +00:00
jet
d901653979
Merge branch 'master' into wip
...
Conflicts:
src/compile.cpp
2009-10-29 14:23:20 -06:00
jet
d3d228e69b
moduloInt + arm work
2009-10-29 14:14:44 -06:00
jet
e00fc5d91a
ARM port work
2009-10-29 10:12:30 -06:00
Joel Dice
3c893b2ee3
Merge commit 'origin/master' into wip
2009-10-27 10:36:19 -06:00
Joel Dice
1fd00dd55d
revert all __attribute__ ((externally_visible)) changes because it's not clear yet how to detect whether it's supported
2009-10-27 10:35:26 -06:00
Joel Dice
e3b21e80ba
Merge commit 'origin/master' into wip
2009-10-27 09:41:20 -06:00
Joel Dice
f57d80f1b7
ammend recent commit to avoid using __attribute__ ((externally_visible)) when it is not available (second try)
2009-10-27 09:41:00 -06:00
Joel Dice
8bf3487ff1
Merge commit 'origin/master' into wip
2009-10-27 09:35:13 -06:00
Joel Dice
51fcf1ef74
ammend recent commit to avoid using __attribute__ ((externally_visible)) when it is not available
2009-10-27 09:34:46 -06:00
Joel Dice
2efff818ea
Merge commit 'origin/master' into wip
2009-10-27 09:17:54 -06:00
Joel Dice
4570b86da0
add __attribute__ ((externally_visible)) to EXPORT macros to facilitate whole-program optimization using GCC 4.5
2009-10-27 09:16:08 -06:00
Joel Dice
c8d5c1faed
visit all frame locations in resolveOriginalSites
...
Previously, we only visited frame locations containing values, but
this invited the possibility of reusing the same site for two
locations in some cases.
2009-10-26 17:59:20 -06:00
Joel Dice
3b4be3decd
defer to helper thunk for frem and drem
2009-10-24 19:29:20 -06:00
Joel Dice
95c3f37bfb
fix various bugs involving doubles on 32-bit systems
2009-10-24 17:18:56 -06:00
Joel Dice
064ad572bc
use truncation, not rounding in float2Int instructions
2009-10-20 15:43:24 -06:00
Joel Dice
f27ecaa199
fix memcpy argument order in Avian_avian_Singleton_getLong
2009-10-20 13:38:05 -06:00
Joel Dice
e06f0407cb
fix powerpc bootimage build (second try)
2009-10-20 09:06:52 -06:00
Joel Dice
c044781807
fix powerpc bootimage build
2009-10-20 08:20:49 -06:00
Joel Dice
984f3106fd
fix powerpc build
2009-10-19 10:31:34 -06:00
Joel Dice
1a63b72b41
clean up float-vs.-int tracking in constant pools
2009-10-17 20:11:03 -06:00
Joel Dice
15020d77a6
refactor intrinsic support
...
This ensures that the low-level, architecture specific code need not
be aware of the semantics and names of Java methods.
2009-10-17 19:26:14 -06:00
Joel Dice
f702795178
fix integer truncation bug
2009-10-17 18:35:19 -06:00
Joel Dice
cec6444911
fix bootimage build for case where the JIT code area is too far from the AOT code area to do immediate-offset jumps between them
2009-10-17 18:18:03 -06:00
Joel Dice
963bfb3e3f
avoid array bounds warnings from GCC 4.3
...
These warnings are due to GCC being smart enough to do interprocedural
constant propagation but not smart enough to avoid false positives in
all cases when looking for array bounds errors.
2009-10-17 18:09:54 -06:00
Joel Dice
7b0378c180
support darwin/x86_64
2009-10-14 10:01:37 -06:00
Joel Dice
ef4a8430ad
add binaryToObject utility
...
We use this utility instead of objcopy to embed data into object files
because it offers more control over e.g. section alignment, which is
important for bootimage builds.
2009-10-13 19:00:16 -06:00
Joel Dice
87950e86b8
add missing parameter to native SystemClassLoader methods
2009-10-13 18:42:49 -06:00
Joel Dice
9fcdfaf7ff
implement binaryToElf utility and use it instead of objcopy on Linux
...
This is necessary because objcopy does not currently allow us to
specify the alignment requirement for the .boot section used to store
the boot image for AOT builds. This may be a problem for Windows as
well, in which case we'll need to add a binaryToPE utility.
2009-10-11 16:09:23 -06:00
Joel Dice
c65b106112
whitespace tweak in binaryToMacho.cpp
2009-10-11 16:06:09 -06:00
Joel Dice
b878b84d32
set DebugCompile to false in compile.cpp
2009-10-11 16:05:37 -06:00
Joel Dice
b4c1c6badf
fix process=interpret build
2009-10-10 18:23:14 -06:00
Joel Dice
44a6620aa1
disable use of SSE when compiling ahead-of-time
2009-10-10 17:46:43 -06:00
Joel Dice
38bf29300f
enable SSE<->GPR moves when size matches word size
2009-10-10 22:27:35 +00:00
Joel Dice
78d9e51b7e
replace hasMoreThanOneSite with uniqueSite; rename Value fields
...
uniqueSite also checks, if applicable, to see if the second word of a
value shares the specified site with the first value as its sole site.
Also renamed a couple of fields in Value for clarity.
2009-10-10 16:07:30 -06:00
Joel Dice
622b3d1c4e
replace compare and branch instructions with combined versions
...
This allows the assembler to see the operand types of the comparison
and the condition for jumping in the same operation, which is
essential for generating efficient code in cases such as
multiple-precision compare-and-branch.
2009-10-10 15:03:23 -06:00
Joel Dice
609a1a9633
snapshot
2009-10-07 00:50:32 +00:00
Joel Dice
23197da679
fix handling of subroutines in methods of return type long on 32-bit systems
2009-10-06 03:17:12 +00:00
Joel Dice
4f78783ef1
various bugfixes for SSE-based floating-point support
2009-10-05 14:25:12 +00:00
Joel Dice
d25da6116a
snapshot
2009-10-04 22:10:36 +00:00
Joel Dice
5dad9bddd6
snapshot
2009-10-04 19:56:48 +00:00
Joel Dice
6cef085d7e
snapshot
2009-09-26 19:43:44 +00:00
Joel Dice
325f93b4d1
Merge branch 'master' into wip
...
Conflicts:
src/compile.cpp
src/compiler.cpp
src/machine.h
src/x86.cpp
2009-09-20 15:43:32 -06:00
Joel Dice
953cb69e5e
move proxy and annotation code from C++ to Java
...
This allows code shrinkers to remove it if it's not used by the application.
2009-09-19 16:21:15 -06:00
Joel Dice
1a2eb3836c
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-09-18 18:01:57 -06:00
Joel Dice
7aa906d97b
support runtime-visible annotations and java.lang.reflect.Proxy
2009-09-18 18:01:54 -06:00
Joel Dice
d0f8889e27
fix GC safety bugs in parseMethodTable and makeArrayClass
2009-09-18 12:20:35 -06:00
Joel Dice
b645c284b5
fix memory leak in debug build
2009-09-17 21:36:52 -06:00
Joel Dice
fcc4ff93e0
remove debug logging
2009-09-17 21:22:47 -06:00
Joel Dice
1dfa421a6c
fix argument mixup in Runtime.exit
2009-09-17 18:28:42 -06:00
Joel Dice
bf2b17cfa6
fix misspelled comment
2009-09-04 17:08:45 -06:00
Joel Dice
b0ba70866e
fix incorrect line numbers in NPE traces
2009-09-04 15:09:40 -06:00
Joel Dice
e47c149fb1
fix misuse of FindFirstFile
2009-09-03 17:57:32 -06:00
Joel Dice
6519047342
fix bootimage build
2009-09-03 09:06:04 -06:00
Joel Dice
84ac2e417d
follow reference pointer before using in in refrenceTargetUnreachable in case it points to a moved object
2009-09-01 18:32:21 -06:00
Joel Dice
6aff383ee1
ensure Heap::needsMark and Heap::mark work correctly during GC
2009-09-01 18:31:18 -06:00
Joel Dice
4f794f533e
fix handling of reachable, moved weak references in postVisit
2009-09-01 17:23:30 -06:00
Joel Dice
49005f0746
fix name-clash regression in heapdump.cpp
2009-09-01 13:09:53 -06:00
Joel Dice
27f35bf239
fix heapdump build
2009-09-01 12:15:33 -06:00
Joel Dice
73dc058c14
implement StackTraceElement.getFileName properly
2009-08-27 16:28:44 -06:00
Joel Dice
1a0eef7e2d
add support for building with MSVC on Windows
2009-08-26 18:26:44 -06:00
Joel Dice
4297fa04b3
run java finalizers in a separate thread to guarantee no application locks are held when doing so
2009-08-24 17:51:31 -06:00
Joel Dice
4536f13ee4
superficial reformatting of previous commit
2009-08-21 09:44:18 -06:00
Joel Dice
637a676fb0
fix MinGW 3.4 build
2009-08-21 09:37:49 -06:00
Joel Dice
a56c1d8765
fix GC-safety bug in resolveSpec
2009-08-20 12:37:03 -06:00
Joel Dice
6196f61938
clear Thread::javaThread before entering zombie state, since clearing it in Thread::dispose is too late - the reference may already be invalid since we don't visit GC roots for zombie threads
2009-08-20 08:49:01 -06:00
Joel Dice
c4b5ecec90
implement Runtime.addShutdownHook and Thread.setDaemon; avoid segfaults due to an application calling e.g. CallStaticBooleanMethod when it really meant CallStaticVoidMethod
2009-08-19 14:27:03 -06:00
Joel Dice
df3baeb83b
handle null value properly in SetObjectArrayElement
2009-08-19 07:36:52 -06:00
Joel Dice
0a2e611baa
handle case of null thread local in SegFaultHandler::handleSignal
2009-08-18 15:47:08 -06:00
Joel Dice
0eba1eeaf2
leave thread in JoinedState instead of ZombieState in DetachCurrentThread
2009-08-18 15:29:25 -06:00
Joel Dice
01dcb1661b
don't resolve all constant pool entries in linkClass - just the field and method specs
2009-08-18 15:27:21 -06:00
Joel Dice
6449c8275a
fix process=interpret build
2009-08-18 14:41:21 -06:00
Joel Dice
c4edabdc02
implement ClassLoader.resolveClass and ensure class is linked in e.g. Class.getMethods; minor bugfixes
2009-08-18 14:26:28 -06:00
Joel Dice
dae0842c95
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-08-17 13:10:36 -06:00
Joel Dice
062f6968a1
only emit a crash dump for access violations
2009-08-14 15:58:19 -06:00
Joel Dice
7fcbf9d85c
fix reading 2-byte UTF-8 constants
2009-08-14 08:52:31 -06:00
Joel Dice
3facd3f735
treat SoftReferences as WeakReferences; do vtable or interface table lookups as necessary in MyProcessor::invoke; various bugfixes
2009-08-13 09:17:05 -06:00
Joel Dice
b3a5823536
set JNIEnvVTable::NewWeakGlobalRef to NewGlobalRef since we don't yet have a weak version
2009-08-13 09:07:05 -06:00
Joel Dice
99e5e65bd8
implement sun.misc.Unsafe methods; set gnu.cpu.endian property
2009-08-13 09:05:37 -06:00
Joel Dice
42622d0d25
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-08-12 19:41:05 -06:00
Joel Dice
bf48f1e297
set java.version property in Avian_gnu_classpath_VMSystemProperties_preInit; add empty Avian_java_lang_VMClassLoader_resolveClass implementation
2009-08-12 19:37:29 -06:00
Joel Dice
61cb8b3deb
handle zero-length lookup tables in lookupswitch
2009-08-12 19:32:12 -06:00
Joel Dice
bc884b4669
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-08-11 18:50:04 -06:00
Joel Dice
22ae42b712
look for a native method implementation using the fast calling convention (Avian_*) before one using the standard convention (Java_*) to avoid false positives late in the search path
2009-08-11 18:49:58 -06:00
Josh warner
78ea4d20e3
added loneMatch to improve register allocation
2009-08-11 13:46:51 -06:00