Commit Graph

4066 Commits

Author SHA1 Message Date
Joshua Warner
865041b688 add asserts 2014-05-30 22:38:10 -06:00
Joshua Warner
42fec084b0 expose Value::type and add asserts 2014-05-30 22:16:39 -06:00
Joshua Warner
00253ce528 remove redundant Compiler::load srcSelectType parameter 2014-05-30 22:16:39 -06:00
Joshua Warner
4c4cc49510 use Compiler::truncateThenExtend in more places 2014-05-30 22:16:39 -06:00
Joshua Warner
26d8e8aa1f add Compiler::truncateThenExtend 2014-05-30 22:16:39 -06:00
Joshua Warner
99fa560257 merge Compiler::load and Compiler::loadz 2014-05-30 22:16:39 -06:00
Joshua Warner
85f114ea0f use ir::Type in Compiler::loadLocal 2014-05-30 22:16:39 -06:00
Joshua Warner
53b68a693d add more aggressive checks to Compiler::load* 2014-05-30 22:16:38 -06:00
Joshua Warner
27ea503233 switch Compiler::load* to use ir::Type rather than sizes 2014-05-30 22:16:38 -06:00
Joshua Warner
9c98986f99 remove redundant Compiler::store dstType parameter 2014-05-30 22:16:38 -06:00
Joshua Warner
0ee3eec478 add extra type checks to Compiler::store 2014-05-30 22:16:38 -06:00
Joshua Warner
8b1739dc0f remove redundant Compiler::stackCall resultSize parameter 2014-05-30 22:16:38 -06:00
Joshua Warner
1d466a800e remove redundant Compiler::call resultSize parameter 2014-05-30 22:16:38 -06:00
Joshua Warner
9805ff94b4 remove redundant Compiler::memory scale parameter 2014-05-30 22:16:38 -06:00
Joshua Warner
f9b781149e add extra type checks to Compiler::store and Compiler::memory 2014-05-30 22:16:38 -06:00
Joshua Warner
1fc6011bf7 add extra flavor type check to Compiler::store 2014-05-30 22:16:37 -06:00
Joshua Warner
aef5acce84 add flavor type check to Compiler::store 2014-05-30 22:16:35 -06:00
Joshua Warner
2ed52c05a8 use ir::Type in Compiler::store 2014-05-30 21:19:33 -06:00
Joshua Warner
8af9bb8297 change Compiler::register_ to Compiler::threadRegister, since it was only used as such 2014-05-30 21:19:32 -06:00
Joshua Warner
2d444830d0 use ir::Type in Compiler::unaryOp and Compiler::binaryOp 2014-05-30 21:19:32 -06:00
Joshua Warner
6ed7681dc0 use ir::Type in f2i and friends, instead of aSize 2014-05-30 21:19:27 -06:00
Joshua Warner
704c05f818 use ir::Type in place of Compiler::OperandType 2014-05-29 15:30:46 -06:00
Joshua Warner
d8914a9646 use ir::Type in Compiler::initLocal 2014-05-29 15:30:46 -06:00
Joshua Warner
4bfb359cdd use ir::Type in Compiler::pop 2014-05-29 15:30:46 -06:00
Joshua Warner
13342d28be use ir::Type in Compiler::save 2014-05-29 15:30:46 -06:00
Joshua Warner
75f0812f7a remove unused Compiler::push method 2014-05-29 15:30:46 -06:00
Joshua Warner
49a5a9f398 use ir::Type in Compiler::push 2014-05-29 15:30:45 -06:00
Joshua Warner
d9fee1025c use ir::Type in Compiler::return_ 2014-05-29 15:30:45 -06:00
Joshua Warner
587b1e3eda use ir::Type in place of lir::ValueType in Value 2014-05-29 15:30:45 -06:00
Joshua Warner
855534b152 introduce ir::Type and begin migrating i2f and friends to it 2014-05-29 15:30:45 -06:00
Joshua Warner
73bcc766c1 Merge pull request #271 from dicej/socketexception
don't use GetPrimitiveArrayCritical when throwing SocketExceptions
2014-05-23 10:52:30 -06:00
Joel Dice
c0adc9a81e don't use GetPrimitiveArrayCritical when throwing SocketExceptions
690ba9c fixed this for throwIOException, but we didn't notice that
throwSocketException had the same problem.
2014-05-23 10:35:44 -06:00
Joshua Warner
f2c78af824 Merge pull request #269 from dicej/handler
fix non-Avian classpath build regression introduced in 7a768f2
2014-05-21 11:13:07 -06:00
Joel Dice
8861f43f6d fix non-Avian classpath build regression introduced in 7a768f2
While Avian's java.util.logging.Handler only has one abstract method,
the standard version has three.
2014-05-21 10:46:52 -06:00
Joel Dice
6d68ae7c13 Merge pull request #268 from joshuawarner32/clean-shutdown
cleanly destroy MyProcessor
2014-05-20 18:30:05 -06:00
Joshua Warner
e2f613e063 cleanly destroy MyProcessor to allow for creating/destroying VMs in the same process multiple times 2014-05-20 17:26:11 -06:00
Mike Jensen
714e946863 Merge pull request #267 from dicej/log-level
fix log level inheritance
2014-05-20 16:40:30 -06:00
Joel Dice
40f7d3b998 Merge pull request #265 from joshuawarner32/version-flag
add simple version flag
2014-05-20 14:41:59 -06:00
Joel Dice
f6996ceb61 Merge pull request #266 from joshuawarner32/unknown-host-proguard
Add UnknownHostException to proguard config
2014-05-20 14:37:09 -06:00
Joel Dice
7a768f2c69 fix log level inheritance
A Logger which has not had a level set explicitly should inherit its
effective level from its parent, not just default to INFO.
2014-05-20 14:26:56 -06:00
Joshua Warner
0b5dee6286 Add UnknownHostException to proguard config 2014-05-20 14:12:38 -06:00
Joshua Warner
7ee03be2e9 add simple version flag 2014-05-20 13:13:17 -06:00
Joshua Warner
b28142a837 Merge pull request #264 from jentfoo/master
Fix package for LegacyObjectInputStream
2014-05-20 13:12:44 -06:00
Mike Jensen
0b0071dd7f Fix package for LegacyObjectInputStream (ammending commit to try to force a travis build) 2014-05-20 12:58:27 -06:00
Joel Dice
1396551433 Merge pull request #262 from dicej/ios
fix iOS OpenJDK and simulator builds
2014-05-18 20:46:22 -06:00
Joel Dice
d75c2131fb fix iOS OpenJDK and simulator builds
With the iOS openjdk-src build, sun.misc.Launcher will throw an
InternalError if avian.file.Handler is not present, so let's make it
happy.

Also, as of recent version(s) of Xcode, there are no utilities
(e.g. ar and strip) in iPhoneSimulator.platform/usr/bin, so we can
just use the system ones.
2014-05-18 19:23:21 -06:00
Joel Dice
b52f4389b2 Merge pull request #261 from jentfoo/master
Change ByteArrayOutputStream's toString function to match openJDK's expectation
2014-05-18 14:07:06 -06:00
Mike Jensen
a7b548f347 Change ByteArrayOutputStream's toString function to match openJDK's expectation 2014-05-14 17:09:15 -06:00
Joshua Warner
7273a999bc Merge pull request #260 from dicej/resource-crash
fix crash on exit due to order of operations bug in ~RawMonitorResource
2014-05-11 17:42:27 -06:00
Joel Dice
4a83b671b3 fix crash on exit due to order of operations bug in ~RawMonitorResource
The problem (which we've only been able to reproduce consistently with
the openjdk-src process=interpret build on Linux virtual machines) was
a race condition during VM shutdown.  Thread "A" would exit, see there
were other threads still running and thus enter ZombieState, which
involves acquiring and releasing a lock using RawMonitorResource.
Then the last thread (thread "B") would exit, wait for thread "A" to
release the lock, then shut down the VM, freeing all memory.  However,
thread "A" writes to its Thread object one last time after releasing
the lock (in ~Resource, the destructor of the superclass of
RawMonitorResource, which sets Thread::resource).  If thread "B" frees
that Thread before ~Resource runs, we end up writing to freed memory.

Thus, we need to update Thread::resource before releasing the lock.
Apparently C++ destructors run in order from most derived to least
derived, which is not what we want here.  My solution to split
Resource into two classes, one that has no destructor and another that
extends it (called AutoResource) which does hafe a destructor.  Now
all the classes which used to extend Resource extend AutoResource,
except for RawMonitorResource, which extends Resource directly so it
can control the order of operations.
2014-05-10 23:25:59 -06:00