Fixed embed.exe loader
use %x,%x format for listing start and end addresses

This matches the format expected by recent versions of GDB's
disassemble command.
fix NaN handling in floating point comparisons
jump to target if JumpIfFloatNotEqual comparison is unordered

A dcmpl or dcmpg followed by an ifneq should take the branch if an NaN
is involved.
update Context::executableSize after allocating objectPool

This ensures that, if an exception is thrown later but before the
method has been fully compiled, we will know exactly how much memory
to free.  Previously, we would abort when trying to free the wrong
amount due to an assertion failure.
throw IllegalArgumentException in JVM_InvokeMethod on type mismatch
implement JVM_ConstantPoolGetLongAt
add vmfPrintTrace method for dumping traces to a specific stream
handle non-ASCII strings properly in MyClasspath::makeString
Merge remote-tracking branch 'csoren/embed-fix'
enter exclusive state in destroyJavaVM

This is necessary to ensure that new threads do not start while we're
shutting down (except for the ones that we start to run the shutdown
hooks), and that the shutdown hook threads can be safely started (it
is not safe to start threads from e.g. an idle state, and an assertion
will fail if we do).
set default file.encoding to UTF-8 in classpath-openjdk.cpp

This default makes more sense than ASCII, which is what it had been.
fix Class.getModifiers for inner classes and implement JVM_GetDeclaringClass and JVM_GetEnclosingMethodInfo properly

This fixes a couple of tests in the Scala test suite
(run/reflection-modulemirror-toplevel-badpath.scala and
run/reflection-constructormirror-nested-good.scala).
set InvocationTargetException target

When using the OpenJDK classpath, the target exception and the
Throwable cause are two different fields; we must set them both.
ignore instance variable for static method invocations
fix sign extension from constant to register on x86

scalac may generate a ldc followed by an l2i, whereas javac always
seems to condense this into a single ldc_w.  The former exposed a bug
in the JIT compiler which we never hit with javac-generated bytecode.
run Shutdown.shutdown on exit when using OpenJDK library

The OpenJDK library wants to track and run the shutdown hooks itself
rather than let the VM do it, so we need to tell it when we're
exiting.

Also, in machine.cpp we need to use only the modifiers specified in
the InnerClasses attribute for inner classes rather than OR them with
the flags given at the top level of the class file.
set boot library if run as java or javac command

If sun.java.command or sun.java.launcher are set, then the VM is being
loaded from e.g. libjvm.so, not as a stand-alone executable.  This
commit allows libjvm.dylib to be used with OpenJDK's java command on OS
X.
use Android directory layout when accessing class library code

Per https://github.com/ReadyTalk/avian/issues/53, Avian should build
against a standard AOSP checkout, which means we should look for
subprojects in the directories the repo utility would place them.
fix array class name length calculation in invoke

The original calculation ommitted the last character, changing
e.g. "[I" into "[".