Commit Graph

2600 Commits

Author SHA1 Message Date
Joel Dice
08d4fddbb4 handle case of class with no methods in classInitializer 2011-07-17 19:51:48 -06:00
Joel Dice
753b90a811 request an object mask when allocating a singleton
Singletons may have embedded object references, and if they are
allocated at fixed memory locations (e.g. if they are larger than
64KB), they must have object masks so the garbage collector knows were
to find said references.
2011-07-17 19:48:28 -06:00
Joel Dice
adbe74efbe add debug logging to finder.cpp 2011-07-17 19:48:12 -06:00
Joel Dice
20091031da increase HeapCapacity to 256MB in bootimage.cpp
This is necessary to avoid running out of memory when building
bootimages of certain apps with OpenJDK using ProGuard'ed code.
2011-07-17 19:45:58 -06:00
Joel Dice
f6d489ff88 memoize padding calculations in x86.cpp
These calculations were appearing high on profiles of apps which force
a lot of methods to be compiled at startup.
2011-07-16 19:12:45 -06:00
Joel Dice
67cbc79613 fix crash in BranchEvent::compile for bootimage builds
We can't reduce a conditional branch to an unconditional jump unless
both arguments to the comparison are constants *and* those constants
have been resolved.  The latter may not be true in the case of a
bootimage build.
2011-07-16 19:10:05 -06:00
Joel Dice
a2933c1f9e update copyright years in compile.cpp 2011-07-16 19:08:39 -06:00
Joel Dice
f00317c415 clarify javadoc in Continuations.java 2011-07-16 19:07:54 -06:00
Joel Dice
3ec4ef9bd2 fix stack unwinding from native methods for tails=true build
We can't clear t->trace->targetMethod until after findUnwindTarget has
been called or we'll lose track of where we are on the stack.
2011-07-13 18:06:02 -06:00
Joel Dice
e3662f13a9 update copyright years and increment version number 2011-07-13 08:25:21 -06:00
Joel Dice
7a82ee6b38 add new System::Monitor::waitAndClearInterrupted method
We had be using System::Monitor::wait to block threads internally in
the VM as well as to implement Object.wait.  However, the interrupted
flag should only be cleared in the latter case, not the former.  This
commit adds a new method and changes the semantics of the old one in
order to acheive the desired behavior.
2011-07-12 18:01:17 -06:00
Joel Dice
a2dca0dc62 fix Cygwin 1.7.x build
Recent versions of Cygwin's GCC no longer support the -mno-cygwin flag
(compilation works, but linking fails).  However, Cygwin now includes
mingw64-i686-gcc, mingw64-x86_64-gcc, and related packages, so we use
those compilers instead.  This has the added benefit that we can build
native x86_64 binaries on Cygwin now.

This will break the build for old Cygwin installs, so it will be
necessary to upgrade Cygwin and install the aforementioned packages to
build Avian going forward.
2011-07-12 22:58:51 +00:00
Joel Dice
c3fa08c430 fix Thread.interrupt and Thread.interrupted
These were both totally broken; the latter wasn't even implemented.
This commit fixes/implements them and adds a simple test to exercise
them.
2011-07-12 14:15:43 -06:00
Joel Dice
ab8e6cdc80 convert classpath paths to absolute paths
This is necessary because some apps expect CodeSource.getLocation() to
return URL containing an absolute path.
2011-07-11 10:56:53 -06:00
Joel Dice
272789cf16 use getcwd instead of getenv("PWD") to get workding directory
The PWD environment variable is not always set; getcwd is more
reliable.
2011-07-11 10:44:06 -06:00
Joel Dice
19d5022456 fix GC safety bugs in getClassAddendum and makeArrayClass 2011-07-09 18:01:00 -06:00
Joel Dice
ec4568d806 handle strings of arbitrary size in makeByteArray 2011-07-09 18:00:19 -06:00
Joel Dice
506ec7838e remove unused Classes.vmClass method 2011-07-08 11:45:23 -06:00
Joel Dice
b4169ede91 fix reversed arguments to maybeRex in sseMoveRR
This was causing 8-byte SSE-to-SSE moves involving registers
xmm8-xmm15 to be misencoded on x86_64, leading to incorrect code
generation in methods with lots of local variables of type double.
2011-07-06 11:09:06 -06:00
Anonymous
794a45cb79 fix various ObjectOutputStream/ObjectInputStream bugs 2011-07-01 08:43:43 -06:00
Topher Lamey
9700b7def1 Changes for protobuf support 2011-06-21 14:37:08 -06:00
Topher Lamey
19856bc346 Changes for protobuf support 2011-06-21 14:37:08 -06:00
Joel Dice
6dc9c98604 fix Set[Static]DoubleField regression for 32-bit platforms
We were truncating 64-bit doubles to 32-bit values with zany results.
2011-06-20 14:24:11 -06:00
Topher Lamey
9aae57ee03 Additions for Protobuf support 2011-06-17 11:23:09 -06:00
Topher Lamey
b891db43bc Additions for Protobuf support 2011-06-17 11:23:08 -06:00
Joel Dice
19d4eab883 Merge remote branch 'origin/master' into oss-master 2011-06-03 17:37:26 -06:00
Joel Dice
9356ade4fd Revert "Updated powerpc build to disable stack overflow checks for now due to a problem we found with large enums."
This reverts commit 8e736327d4.
2011-06-03 17:36:47 -06:00
Joel Dice
50a699a08f Merge remote branch 'origin/B14038_Lion_appshare' into oss-master 2011-06-03 17:35:40 -06:00
Joel Dice
bcc72e8c9d Merge remote branch 'remotes/origin/B14038_Lion_appshare' into oss-master 2011-06-03 14:39:50 -06:00
Matt Klich
5542ad4ed4 Merge branch 'B14038_Lion_appshare' 2011-06-02 16:40:23 -06:00
Matt Klich
698138f649 OSX Lion build changes
Added JavaVM to include path. Also allow dynamically building with
different SDK versions through the OSX_SDK_VERSION and OSX_SDK_SYSROOT
environment variables (these default to the previosly hardcoded value of
10.4 and 10.4u respectively).
2011-06-02 15:15:08 -06:00
Matt Klich
c7c0a45a61 Revert "OSX Lion build changes"
This commit introduced conditional includes which is not the preferred
method. Will do it in the makefile instead.

This reverts commit 7148556979.
2011-06-01 13:56:03 -06:00
Joel Dice
4514833700 Changes to add end function to Inflater and Deflater per the java spec 2011-05-31 14:46:15 -06:00
Mike Jensen
6b4b4b0b8c Changes to add end function to Inflater and Deflater per the java spec 2011-05-31 14:31:06 -06:00
Joel Dice
92adc83caf remove NPE debug logging 2011-05-29 11:16:52 -06:00
Joel Dice
05f26983d0 implement more sun.misc.Unsafe methods 2011-05-26 17:41:15 -06:00
Joel Dice
24f7b42d45 ensure class initialized in {Get|Set}Static*Field
All static field accesses must trigger class initialization if it
hasn't happened already, including JNI accesses.
2011-05-26 17:39:19 -06:00
Matt Klich
7148556979 OSX Lion build changes 2011-05-26 11:57:30 -06:00
Joel Dice
7bea2b6b7d fix putstatic/putfield for 64-bit volatiles
We must call acquireMonitorForObject before popping the
putstatic/pushfield operands off the stack to avoid clobbering said
operands.
2011-05-23 12:38:12 -06:00
Joel Dice
d4da92d300 fix bugs in Deflater and DeflaterOutputStream
Previously, Deflater.deflate would pass Z_SYNC_FLUSH to zlib
unconditionally, which caused the output to be enormous when setInput
was called repeatedly with very small input buffers.  In order to
allow zlib to buffer output and thereby maximize compression, we must
use Z_NO_FLUSH until Deflater.finish is called, at which point we
switch to Z_FINISH.  We also modify DeflaterOutputStream.close to call
Deflater.finish and write any remaining output to the wrapped stream.
2011-05-16 17:12:41 -06:00
Joel Dice
e788a18bc7 implement java.util.zip.CRC32 2011-05-16 17:12:10 -06:00
Joel Dice
bfe6934183 support multiline Class-Path properties in JAR manifests 2011-05-16 10:34:10 -06:00
Joel Dice
2b229b4b6d add stub implementations of JVM_{Enable|Disable}Compiler 2011-05-16 10:33:46 -06:00
Joel Dice
18a6393ecf fix ClassCastException in ZipFile.getInputStream
This was being thrown when the parameter passed was a
JarFile.MyJarEntry, not a ZipFile.MyZipEntry, yet we cast it to the
latter.
2011-05-16 10:30:56 -06:00
Joel Dice
fa7d46c322 handle methods ending with large blocks properly when generating constant pools
We can only omit the jump past a constant pool if it's placed at the
end of a method, which is only true if the pool belongs to the last
block of that method and that block is not so large that the pool must
be placed inside the block instead of after it.
2011-05-11 19:56:29 -06:00
Joel Dice
b76cbbfa56 fix instruction offset calculation in powerpc.cpp
The previous code did not take into account any padding embedded in a
basic block due to inline jump tables, which led to invalid code
generation in large methods
2011-05-11 19:50:45 -06:00
Mike Keesey
8e736327d4 Updated powerpc build to disable stack overflow checks for now due to a problem we found with large enums. 2011-04-22 20:22:47 -06:00
Joel Dice
195bafa9b3 preserve Windows-specific OpenJDK entities from obfuscation 2011-04-14 16:39:25 -06:00
Joel Dice
a17045b02f avoid naming conflicts in OpenJDK build of libavian.a
OpenJDK's compile.c and Avian's compile.cpp were both being compiled
to compile.o, which led to a conflict when building libavian.a.  We
now append "-openjdk" to the object file name for OpenJDK code to
avoid such conflicts.
2011-04-14 16:12:12 -06:00
Joel Dice
cada2c6acc add reference to avian-swt-examples.git in readme.txt 2011-04-10 17:04:58 -06:00