[ANNOUNCE] Jato 0.3

Showing 1-1 of 1 messages
[ANNOUNCE] Jato 0.3 Pekka Enberg 1/4/12 9:37 AM
The latest release Jato 0.3 is now available.

The release tarball can be found here:

    http://www.kernel.org/pub/software/java/jato/jato-0.3.tar.bz2

The Git repository can be found here:

    https://github.com/penberg/jato


About Jato
==========

Jato is an open source, JIT-only virtual machine for Java that aims to support
the latest JVM specification. It can currently run many Java applications such
as JRuby, Clojure, and Eclipse on 32-bit x86 Linux machines. Ports to x86-64,
ARM, and PPC32 CPUs and Darwin OS are currently under development.


Release Notes
=============

Applications
------------

  * JRuby and Jython are now supported.

    - GNU Classpath CVS HEAD is required.

      [ See below for details how to download and install it. ]


Performance
-----------

  * VM startup speed has improved by 25%.

  * DaCapo benchmark results have improved across the board.

    - See the following URL for DaCapo results:

      http://i.imgur.com/eorgM.png


JIT
---

  * The JIT compiler is now able to optimize code before execution.

    - Transformation of the IR to SSA form and out of SSA form.

      [ SSA form is not enabled by default. Use '-Xssa' command line option to
        enable it. ]

    - Dead code elimination optimization (requires SSA).

    - Array bounds check elimination (requires SSA).

    - Inline caching optimization is used on i386 architecture.

  * The JIT compiler has limited support for ARM and PPC32 architectures.

    - Don't expect to run real applications on them, though.

  * The JIT compiler support on the x86-64 architecture has improved
    significantly.

    - Not as mature as i386 architecture.


VM
--

  * The VM has a classfile verifier.

    - It is able to detect classfile corruption and many semantic problems in
      bytecode.

  * The VM supports most of the JNI API.


GNU Classpath
=============

Please use GNU Classpath CVS HEAD with Jato 0.3 for best performance and
compatibility.

You can use the following Git mirror to fetch the sources:

   git://icedtea.classpath.org/mirror/git/classpath/classpath

See the README file in Jato's source tree for details on how to install GNU
Classpath on your machine.


Support
=======

If you have questions, comments, or suggestions, feel free to drop by at #jato
on irc.freenode.net or send an email to our mailing list at:

    http://groups.google.com/group/jatovm?hl=en

You can also report problems on Github:

   https://github.com/penberg/jato/issues

For more information, please check out the Jato home page:

    http://www.jatovm.org/

---

Changes from v0.2 to v0.3
=========================

The following changes since commit 08c53b4aab143072eb77c505ad90a3dcdf501b9c:

   Jato 0.2 (2011-05-24 23:06:27 +0300)

are available in the git repository at:
   git@github.com:penberg/jato.git master

Ana Farcasi (51):
       Fix differently spelled name
       jit: Fix convert_tableswitch and convert_lookupswitch
       test/unit: Add test for switch-bc
       jit: Make sure entry basic block is accounted in compute_dfns()
       x86: Added INSN_PHI
       jit: Add SSA optimization infrastructure
       jit: Fix bugs in ssa.c
       jit: Added renaming of variables for exception handler basic blocks
       jit: Fix bug for insn_use_def in ssa.c
       jit: Fix bug in ssa.c
       jit: Fix bug in insert_empty_bb
       jit: Initialize vregs before inserting phi insns
       jit: Fix bb successors list for tableswitch
       jit: Fix init of J_DOUBLE and J_FLOAT in SSA
       jit: Cumulate fixed virtual regesiters in SSA
       jit: Add support for switch instructions in SSA
       jit: All virtual regs are defined before they are used
       jit: Fix bug in resolve data flow
       x86: Replace if statement with switch in ssa functions
       jit: Fix exception handler basic block renaming
       jit: Delete extra empty line in ssa.c
       jit: Implement insn_add_ons with hash_map
       test/unit: Add new test for tableswitch
       jit: Add dead code elimination optimization
       x86: Fix push_memlocal and pop_memlocal print
       x86: Fix bug in insert_copy_slot_64_insns
       jit: Fix bytecode offset of new basic blocks in ssa
       jit: Optimize resolve_data_flow
       jit: Replace minimal SSA with pruned SSA
       jit: Fix bug in control flow graph
       jit: Add copy folding for SSA form
       test/unit: Add test in cfg-analyzer-test.c
       jit: Delete useless computations in ssa
       jit: Remove useless flags
       jit: Free worklist
       jit: Reposition ssa main functions
       jit: Reduce number of new basic blocks in ssa
       jit: Improve traversal of a bitset
       test/unit: Add test for bitset_ffs_from
       Makefile: Link tcmalloc if present in the system
       jit: Add imm_copy_propagation
       jit: Replace doubly-linked lists with simply-linked lists in ssa
       jit: Fix bb successors list for lookupswitch
       jit: Resolve warning in SSA
       test/jit: Fix bug in switch-bc-test
       test/jit: Add test for lookupswitch
       jit: Add abc-removal
       jit: Fix bug in insert_list
       jit: Compute natural loops
       jit: Enable SSA only when abc elimination needed
       Documentation: Add SSA documentation

Ankit Laddha (38):
       arm: Add stub methods so 'make check' links
       arm: Fix unit tests on ARM
       arm: Add stubs required for IC and SSA projects
       arm: Framework so arm porting can start
       arm: conversion of EXPR_VALUE to LIR
       arm: Stubs required for SSA project
       arm: Convert EXPR_LOCAL to LIR
       arm: Encoding of reg_imm_insn and reg_memlocal_insn
       arm: Framework so that bytecode-test run on arm
       arm: fix the broken unit test
       arm: Add stubs required for SSA project
       arm: Fix encoding of reg_memlocal_insn
       arm: Convert STMT_RETURN and VOID_RETURN to LIR
       arm: Fix the flow of process of encoding insns
       arm: Encode INSN_MOV_REG_REG
       arm: Encode INSN_UNCOND_BRANCH
       arm: Change memory read function
       arm: Emit the prolog of a function
       arm: Emit epilog of a function
       arm: Implement functions for liveness analysis
       arm: Emission of trampoline started
       arm: Funtion implementation for register allocation
       arm: Configured IC calls for ARM
       arm: set the text alignment in the execution pages
       arm: Full trampoline support emitted
       arm: Fix bug in trampoline emission
       arm: Initial support for bytecode tests
       arm: Some more bytecode-tests running successfully
       arm: change one LIR instruction
       arm: LIR conversion for STMT_STORE
       arm: Emit INSN_STORE_MEMLOCAL_REG
       arm: fixup instruction mnemonics
       arm: Support for negative integers
       arm: Add support for addition of integers
       arm: Add more rules to insn selector
       arm: Support for subtraction
       arm: Pass more bytecode tests
       test, integration: reordering the test cases

Balagopal (10):
       jit: Support for multiple entry points to methods.
       x86: Inline cache with clean and monomorphic states for INVOKEVIRTUAL.
       x86: Inline cache cleanups
       x86: Fix compile errors on x86_64
       x86: Megamorphic inline cache on x86_32
       test/functional: Modify invokevirtual test for better coverage.
       x86: Add dummy ic_vcall_stub for x86_64
       Makefile: Framework to generate asm-offsets
       test: Added microbenchmark for measuring Inline cache performance.
       jit: Added -Xnoic to disable inline caching

Joonas Reynders (4):
       vm: Convert classloader trace level to use pthread API
       vm, gc: Convert gc safepoint flag to use pthread API
       Converts trace_buffer from __thread to pthread API
       Convert signal register_state variable from __thread to pthread API

Nikhil Sarda (5):
       reflection: Fix parameter annotation test
       jit: Make check was failing with a SIGSEGV.
       test/integration: Added some more bytecode tests.
       test/integration: Added bytecode tests for istore, lstore, fstore and dstore.
       vm, gc: Improved error handling.

Pekka Enberg (219):
       vm: Fix VM launcher help text
       test/functional: Fix broken IsInstanceOf JNI test case
       test/functional: Disable parameter annotation tests
       Makefile: Fix 'tags' target to include sys directory
       arm: Fix 'make check' error caused by missing target
       test/integration: Fix printf format string error
       vm: Fix current_exec_env_key definition
       lib: Add arena memory allocator
       jit: Use arena allocator for struct var_info and friends
       x86: Fix do_native_call() miscompilation with '-O3'
       Makefile: Use GCC '-O3' optimization level
       Makefile: Use -fno-tree-vectorize on x86-64
       jit: Optimize interval_expire_ranges_before() and interval_range_at()
       vm: Optimize vm_class_is_assignable_from()
       vm: Make subtype checking faster
       test, unit: Fix compilation error
       Revert "vm: Make subtype checking faster"
       Makefile: Revert back to -Os for 32-bit
       vm: Add '-XX:+PrintCompilation' command line option
       test/functional: Rename FieldTest to FieldAccessorsTest
       runtime: Fix VMClass accessor method compatibility issues
       test/functional: Enable more test cases in FieldAccessorsTest
       runtime: Use java_lang_reflect_VMField prefix for native functions
       vm, runtime: Move VMField functions to runtime/java_lang_reflect_VMField.c
       reflection: Fix VMField.get() from superclasses
       jit: Fix uninitialized variable use in analyze_control_flow()
       vm: Merge 'enum thread_state' to 'enum vm_thread_state'
       jit: Cleanup jit/compilation-unit.c
       vm: Add interpreter for OPC_NOP and OPC_RETURN
       x86: Fix printf format on 64-bit
       x86-64: Kill broken OP_CMP rule from insn selector
       x86-64: Fix EXPR_FLOAT_CLASS_FIELD args on stack
       x86: Fix asm-offsets.c
       x86-64: Fix STMT_STORE args on stack
       x86-64: Fix STMT_ARRAY_STORE_CHECK args on stack
       x86-64: Enable ArrayExceptionsTest
       Revert "x86-64: Enable ArrayExceptionsTest"
       x86-64: Fix IntegerAritmethicTest
       x86-64: Enable PutfieldTest
       test/functional: Don't use static fields in FloatArithmeticTest
       test/functional: Don't use static fields in DoubleArithmeticTest
       x86-64: Kill unused shift_reg_local function
       x86-64: Fix floating point static field accesses
       x86-64: Enable more test cases
       Makefile: Fix unit tests on ARM
       test/functional: Run EntryTest wï¿œth SSA enabled
       arm: Fix includes in arch/arm/constant_pool.c
       arm: Extract insert_to_literal_pool() function
       arm: Cleanup arch/arm/constant_pool.c a bit
       arm: Cleanup arch/arm/encode.c
       ppc: Fix gcc-arch.sh and add missing Makefile
       ppc: Fix compile error in disassemble.c
       ppc: Add some architecture specific headers
       Fix .gitignore for asm-offsets.h
       ppc, linux: Add stubs for backtrace.c
       ppc: Kill unused backtrace.c
       ppc: Add definition for NR_FIXED_REGISTERS
       ppc: Add more headers and stubs
       arm: Kill unnecessary 'extern' modifier
       x86, arm, ppc: Use generic GCC builtins for cmpxchg
       arm, jit: Move constant-pool.c to generic code
       x86: Fix alignment link warning in tests
       test/integration: Fix broken OPC_IFNONNULL test case
       test/integration: Add more test cases to bytecode-test
       test/integration: Add i2b and i2c to bytecode-test
       ppc: Add arch/init.h
       ppc: Makefile cleanup
       ppc: Fix config to define CONFIG_32_BIT
       ppc: Fix register definitions
       ppc: Add arch/text.h
       ppc: Implement reg_name() function
       ppc: Fix up struct jit_stack_frame
       ppc: Fix signal support compilation errors
       ppc: Add arch/itable.h
       vm: Add missing include to method.c
       ppc: Fix struct native_stack_frame
       ppc: Define ARCH_NAME
       ppc: Fix unit test Makefile
       ppc: Add more stubs to make things compile
       ppc, linux: Add signal stubs
       ppc: Implement arch-specific cmpxchg.h
       Makefile: Let arch/*/include/arch override arch/include
       x86-64: Fix return value tracing
       ppc: Implement trampoline support
       ppc: Add empty rules for instruction selector
       ppc: Cleanup emit-code.c
       lib, ppc: Clean up code emission to buffer
       libharness: Improve assertion messages
       arm: Fix link error caused by cmpxchg.h
       test, integration: Disable machine code tracing
       ppc: Encoding for the 'lis' instruction
       ppc: Encoding for the 'ori' instruction
       ppc: Encoding for 'blr' instruction
       ppc: Implement insn() function
       ppc: Implement use-def for instructions
       ppc: Implement instruction helper functions
       ppc: Implement inline caching stubs properly
       ppc: Fix some emitter functions
       x86: User arch-specific cmpxchg
       jit: Shrink struct var_info on 64-bit
       x86: Reuse space in 'struct insn' for mach_offset and lir_offset
       lib: Optimize arena_block_new()
       x86: Fix switch statement formatting in instruction.c
       jit, ssa: Reduce imm_copy_propagation() nesting
       jit: Reduce the size of 'struct insn'
       ppc: Fix build breakage
       jit: Lindent jit/dce.c
       x86: Simplify insn_vreg_{use,def}()
       arm: Fix build breakage
       test, integration: Fix Makefile dependencies
       x86, peephole: Eliminate redundant register stores
       x86-32: Enable SSA by default
       lib: Optimize append_buffer()
       lib: Use bitset_ffs_from() for bitset_ffs()
       lib: Optimize bitset_ffs_from()
       Documentation: Add initial version of internals manual
       x86: Optimize insn_is_call()
       x86: Make some insn helper functions inline
       lib: Optimize bitset_copy_to()
       x86-64: Disable peephole optimizations
       Makefile: Enable -O3 GCC optimization level again
       Add Travis CI control file
       jit: Fix x86-ism in jit/abc-removal.c
       jit: Fix abc-removal.c x86-isms for good
       ppc: Save and restore LR in trampoline
       ppc: STMT_RETURN(reg) instruction selection
       cafebabe, annotations: Don't call calloc() with zero 'nmemb'
       test, integration: Fix bytecode test ordering
       Documentation: Add explanation of resolution blocks
       Update TODO
       Documentation: Update section on intermediate representations
       Documentation: Fix internals.txt formatting
       Documentation: Explain what BC2IR algorithm means
       x86, ic: Fix crash in ic_supports_method()
       vm, preload: Simplify preload code
       vm, preload: Use macro magic to reduce code duplication
       vm: Fix "-Xtrace:jit" crash on missing methods
       x86: Fix invokevirtual and invokeinterface for missing methods
       cafebabe: Add missing access and property flags
       x86: Fix invokevirtual and invokeinterface some more
       vm: Use vm_zalloc() for allocatin struct vm_class
       vm: Fix alloc_exec_env() to initialize all fields
       vm: Make sure ->monitor_record is initialized to NULL
       vm: Fix do_gc_alloc() to zero allocated objects
       vm, gc: Fix newgc signal handlers
       vm, gc: Fix newgc signal handling
       vm, gc: Kill NOT_IMPLEMENTED
       test, functional: Execute EntryTest with -Xnewgc
       vm, gc: Add assertion to enter_safepoint()
       vm, gc: Add assertion to do_exit_safepoint()
       test, functional: Improve GC torture test
       jit: Add assertion to jit_text_reserve()
       vm, gc: Kill dead signal setup code
       x86-64: Fix instruction encoding rex.w prefixes
       x86-64: Fix R12 instruction encoding issues
       x86-64: Fix floating point instruction selection issues
       x86-64: Partial revert of commit 8ae25fe2f513
       x86-64: Fix INSN_SUB_REG_REG 'rex.w' encoding
       vm: Remove duplicate code in method preload
       vm, annotations: Fix struct vm_allocation allocation issue
       vm: Implement fast subtype checking
       jit: Kill "compile lock" locking primitive
       Revert "jit: Kill "compile lock" locking primitive"
       jit: Kill compile lock from 'struct compilation_unit'
       jit: Kill COMPILATION_STATE_ERROR
       Document build dependencies for Fedora
       x86-64: Convert STMT_RETURN(freg) to use MOVSS and MOVSD
       x86-64: Convert return value tracing to use MOVSS and MOVSD
       x86-64: Fix EXPR_FLOAT_LOCAL instruction selection
       x86-64: Enable passing functional tests
       x86-64: Convert more insn selector rules to use MOVSS and MOVSD
       x86-64: Use MOVSS and MOVSD in setup_caller_saved_regs()
       x86-64: Drop XMM support from emit_mov_reg_reg()
       x86-64: Use insn_encode() for INSN_MOV_REG_REG
       jit: Use snprintf() in class_name_to_array_name()
       vm: Add assertions to vm_properties_set_property()
       x86-64: Fail if type is not supported by retur value tracing
       x86-64: Fix STMT_STORE instruction selector rule
       x86: Remove unused variables from instruction selector
       jit: Add missing stdio.h include
       Revert "Makefile: Enable -O3 GCC optimization level again"
       jit: Fix emulate_fcmpl() and emulate_fcmpg()
       runtime: Add stub for VMThreadMXBeanImpl.getThreadInfoForId()
       vm: Make vm_class_resolve_and_type() failures less noisy
       Bump up required GNU Classpath version in README
       Add documentation on how to profile Jato heap
       jit: Reduce array bytecode detection memory footprint
       jit: Introduce and use CU_FLAG_REGALLOC_DONE
       lib: Simplify 'struct arena'
       vm, verifier: Dead code removal
       lib: Remove duplication from arena_alloc()
       jit: Introduce and use arena_free()
       lib: Fix 'struct arena_block' linked list
       x86-64: Fix J_REFERENCE code generation
       runtime: Move java/lang/VMString code under runtime
       lib: Fix string.h include guards
       vm: Remove unused get_classpath() function
       lib: Introduce and string_from_cstr() API
       lib, vm: Fix string hash calculation
       lib: Improve hash_map_get() performance
       vm: Require slash format class name in classloader_load()
       lib: Introduce byte swap helper functions
       lib: Implement new ZIP handling for bootstrap classloader
       vm: Replace libzip with faster implementation
       Revert "x86-32: Enable SSA by default"
       jit: Fix resolution block memory leak
       jit: Fix memory leaks in jit/subroutine.c
       vm: Unload classes on VM exit
       lib: Fix memory leaks in zip.c
       jit: Avoid allocation in interval_add_range()
       vm, gc: Don't scan primitive arrays for references
       vm: Fix use after free in vm_class_resolve_class()
       Use -fno-omit-frame-pointer GCC optimization flag
       x86: Simplify do_native_call() and do_native_call_xmm() on 32-bit
       x86-32: Simplify native_call()
       x86-32: Use -O3 GCC optimization level
       Sync before each DaCapo benchmark
       Revert "x86-32: Simplify native_call()"
       Jato 0.3

Theo Dzierzbicki (11):
       vm: Add simple verifier
       vm: Implemented & tested the verifier state structures.
       vm, verifier: Almost completely implementing the first verification pass.
       vm, verifier: Allow modification of blocks by verifier CFG functions.
       vm, verifier: Reintroduced the verify_* CFG analysis functions.
       vm, verifier: starting CFG analysis, proper tracing
       vm, verifier: fixing exception raising.
       vm, verifier: added corrupted tests to check-functional
       cafebabe, vm: Added support for the StackMapTable attribute.
       AUTHORS: added an entry.
       vm, verifier: added verifications on method overriding and access flags.

Tomek Grabiec (1):
       x86: fix lir printing of pop <reg> insn

  .gitignore                                         |    2 +
  .mailmap                                           |    1 +
  .travis.yml                                        |    2 +
  AUTHORS                                            |    4 +
  Documentation/heap-profiling.txt                   |   17 +
  Documentation/internals.txt                        |  199 +++
  Makefile                                           |   88 ++-
  README                                             |    9 +-
  TODO                                               |   32 -
  arch/arm/Makefile                                  |    4 +
  arch/arm/emit-code.c                               |  169 ++-
  arch/arm/encode.c                                  |  390 ++++++
  arch/arm/include/arch/atomic.h                     |   12 +-
  arch/arm/include/arch/byteorder.h                  |    1 +
  arch/arm/include/arch/cmpxchg.h                    |    8 +-
  arch/arm/include/arch/encode.h                     |   29 +
  arch/arm/include/arch/instruction.h                |  111 ++-
  arch/arm/include/arch/memory.h                     |   12 +-
  arch/arm/include/arch/registers.h                  |   44 +-
  arch/arm/include/arch/text.h                       |    2 +-
  arch/arm/include/arch/thread.h                     |    6 +
  arch/arm/insn-selector.brg                         |  441 +++++++
  arch/arm/instruction.c                             |  249 ++++-
  arch/arm/registers.c                               |   58 +
  arch/arm/stack-frame.c                             |   55 +-
  arch/arm/stubs_to_compile.c                        |  119 ++
  arch/mmix/include/arch/registers.h                 |    3 +
  arch/ppc/Makefile_32                               |   19 +-
  arch/ppc/disassemble.c                             |    6 +-
  arch/ppc/emit-code.c                               |  156 ++-
  arch/ppc/encode.c                                  |   86 ++
  arch/ppc/exception.c                               |    2 +-
  arch/ppc/include/arch/atomic.h                     |   43 +
  arch/ppc/include/arch/byteorder.h                  |    1 +
  arch/ppc/include/arch/cmpxchg.h                    |   22 +
  arch/ppc/include/arch/config_32.h                  |    5 +-
  arch/ppc/include/arch/encode.h                     |  152 +++
  arch/ppc/include/arch/init.h                       |    6 +
  arch/ppc/include/arch/instruction.h                |  109 +-
  arch/ppc/include/arch/itable.h                     |    9 +
  arch/ppc/include/arch/memory.h                     |   25 +
  arch/ppc/include/arch/registers.h                  |  127 ++-
  arch/ppc/include/arch/signal.h                     |   10 -
  arch/ppc/include/arch/stack-frame.h                |   10 +-
  arch/ppc/include/arch/text.h                       |    7 +
  arch/ppc/init.c                                    |    5 +
  arch/ppc/insn-selector.brg                         |  252 ----
  arch/ppc/insn-selector_32.brg                      |  650 +++++++++-
  arch/ppc/instruction.c                             |  132 ++
  arch/ppc/registers_32.c                            |   63 +
  arch/ppc/stubs_to_compile.c                        |  119 ++
  arch/x86/Makefile_32                               |    3 +
  arch/x86/Makefile_64                               |    3 +
  arch/x86/asm-offsets.c                             |    8 +
  arch/x86/call.c                                    |   66 +-
  arch/x86/emit-code.c                               |  107 +-
  arch/x86/encode.c                                  |  122 ++-
  arch/x86/ic_lowlevel_32.S                          |   26 +
  arch/x86/ic_lowlevel_64.S                          |   18 +
  arch/x86/include/arch/byteorder.h                  |    1 +
  arch/x86/include/arch/inline-cache.h               |   26 +
  arch/x86/include/arch/instruction.h                |   64 +-
  arch/x86/include/arch/peephole.h                   |    8 +
  arch/x86/include/arch/registers_32.h               |    2 +-
  arch/x86/inline-cache.c                            |  234 ++++
  arch/x86/insn-selector_32.brg                      |  106 +-
  arch/x86/insn-selector_64.brg                      |  591 ++++-----
  arch/x86/instruction.c                             |  317 +++++-
  arch/x86/lir-printer.c                             |   32 +-
  arch/x86/peephole.c                                |   30 +
  arch/x86/registers_32.c                            |    2 +-
  cafebabe/annotations_attribute.c                   |   10 +-
  cafebabe/error.c                                   |    2 +
  cafebabe/stack_map_table_attribute.c               |  233 ++++
  include/arch/peephole.h                            |   11 +
  include/cafebabe/error.h                           |    1 +
  include/cafebabe/method_info.h                     |    7 +
  include/cafebabe/stack_map_table_attribute.h       |  128 ++
  include/jit/basic-block.h                          |   58 +-
  include/jit/compilation-unit.h                     |   90 ++-
  include/jit/compiler.h                             |    8 +
  include/jit/constant-pool.h                        |   21 +
  include/jit/emit-code.h                            |    7 +-
  include/jit/emulate.h                              |    5 +
  include/jit/inline-cache.h                         |   18 +
  include/jit/instruction.h                          |    8 +
  include/jit/ssa.h                                  |   52 +
  include/jit/use-position.h                         |    1 +
  include/jit/vars.h                                 |   16 +-
  include/lib/arena.h                                |   53 +
  include/lib/big-endian.h                           |   13 +
  include/lib/bitset.h                               |   18 +-
  include/lib/buffer.h                               |   39 +-
  include/lib/hash-map.h                             |   12 +-
  include/lib/little-endian.h                        |   13 +
  include/lib/string.h                               |   11 +-
  include/lib/swab.h                                 |   21 +
  include/lib/zip.h                                  |   43 +
  .../gnu_java_lang_management_VMThreadMXBeanImpl.h  |    8 +
  include/runtime/java_lang_VMString.h               |    8 +
  include/runtime/java_lang_reflect_VMField.h        |   12 +
  include/vm/boxing.h                                |    3 +
  include/vm/bytecode-def.h                          |  118 +-
  include/vm/bytecode.h                              |    8 +
  include/vm/class.h                                 |   27 +-
  include/vm/classloader.h                           |    3 +-
  include/vm/gc.h                                    |   22 +-
  include/vm/interp.h                                |   23 +
  include/vm/method.h                                |   31 +-
  include/vm/object.h                                |    3 +-
  include/vm/opcodes.h                               |    2 +
  include/vm/preload-classes.h                       |   71 +
  include/vm/preload-methods.h                       |   50 +
  include/vm/preload.h                               |  131 +--
  include/vm/reflection.h                            |   12 -
  include/vm/thread.h                                |   24 +-
  include/vm/types.h                                 |    9 +
  include/vm/verifier.h                              |  284 +++++
  jit/abc-removal.c                                  |  132 ++
  jit/basic-block.c                                  |  186 +++-
  jit/bytecode-to-ir.c                               |   17 +-
  jit/cfg-analyzer.c                                 |   17 +-
  jit/compilation-unit.c                             |  124 ++-
  jit/compiler.c                                     |   48 +-
  jit/constant-pool.c                                |   80 ++
  jit/dce.c                                          |  144 +++
  jit/dominance.c                                    |    2 +
  jit/emit.c                                         |   60 +-
  jit/emulate.c                                      |   39 +-
  jit/inline-cache.c                                 |   30 +
  jit/interval.c                                     |   61 +-
  jit/linear-scan.c                                  |   40 +-
  jit/liveness.c                                     |   17 +-
  jit/object-bc.c                                    |   24 +-
  jit/spill-reload.c                                 |   34 +-
  jit/ssa.c                                          | 1335 ++++++++++++++++++++
  jit/subroutine.c                                   |    5 +
  jit/switch-bc.c                                    |    6 +-
  jit/text.c                                         |    3 +
  jit/trace-jit.c                                    |   30 +-
  jit/trampoline.c                                   |   43 +-
  lib/arena.c                                        |   76 ++
  lib/bitset.c                                       |   64 +-
  lib/hash-map.c                                     |   43 +-
  lib/string.c                                       |   91 ++-
  lib/zip.c                                          |  390 ++++++
  .../gnu_java_lang_management_VMThreadMXBeanImpl.c  |   14 +-
  runtime/java_lang_VMClass.c                        |    2 +-
  runtime/java_lang_VMClassLoader.c                  |    2 +-
  arch/ppc/signal.c => runtime/java_lang_VMString.c  |   10 +-
  runtime/java_lang_reflect_VMField.c                |  489 +++++++
  runtime/reflection.c                               |  494 +-------
  scripts/gcc-arch.sh                                |    3 +
  scripts/gcc-has-lib.sh                             |   11 +
  sys/linux-arm/backtrace.c                          |    5 +
  sys/linux-ppc/Makefile                             |    3 +
  sys/linux-ppc/backtrace.c                          |   13 +
  sys/linux-ppc/exception.c                          |   10 +
  sys/linux-ppc/include/sys/signal.h                 |   22 +
  sys/linux-ppc/signal.c                             |   20 +
  .../CorruptedExceptionTableEndsAfterCode.class     |  Bin 0 -> 393 bytes
  .../CorruptedExceptionTableInvalidHandlerPC.class  |  Bin 0 -> 396 bytes
  .../CorruptedExceptionTableInvertedBorns.class     |  Bin 0 -> 393 bytes
  test/functional/corrupt/CorruptedFallingOff.class  |  Bin 0 -> 227 bytes
  .../corrupt/CorruptedIncompleteInsn.class          |  Bin 0 -> 230 bytes
  .../corrupt/CorruptedInvalidBranchNeg.class        |  Bin 0 -> 237 bytes
  .../corrupt/CorruptedInvalidBranchNotOnInsn.class  |  Bin 0 -> 243 bytes
  .../corrupt/CorruptedInvalidBranchOut.class        |  Bin 0 -> 237 bytes
  .../corrupt/CorruptedInvalidOpcode.class           |  Bin 0 -> 230 bytes
  .../corrupt/CorruptedLoadConstantDouble.class      |  Bin 0 -> 281 bytes
  .../corrupt/CorruptedLoadConstantIndex.class       |  Bin 0 -> 280 bytes
  .../corrupt/CorruptedLoadConstantSimple.class      |  Bin 0 -> 281 bytes
  test/functional/corrupt/CorruptedMaxLocalVar.class |  Bin 0 -> 229 bytes
  test/functional/corrupt/README                     |   10 +
  test/functional/java/lang/JNITest.java             |   10 +-
  test/functional/jni/jnitest.c                      |    2 +-
  test/functional/jvm/DoubleArithmeticTest.java      |    6 +-
  test/functional/jvm/FloatArithmeticTest.java       |    6 +-
  test/functional/jvm/GcTortureTest.java             |   14 +-
  test/functional/jvm/MethodInvokeVirtualTest.java   |   14 +-
  test/functional/jvm/MethodOverridingFinal.j        |   15 +
  test/functional/jvm/NoSuchMethodErrorTest.j        |   18 +-
  test/functional/jvm/lang/reflect/FieldTest.java    |  938 --------------
  .../test/java/lang/reflect/FieldAccessorsTest.java |  970 ++++++++++++++
  .../test/java/lang/reflect/MethodTest.java         |   28 +-
  test/integration/Makefile                          |    2 +
  test/integration/bytecode-test.c                   |  227 +++-
  test/perf/ICTime.java                              | 1095 ++++++++++++++++
  test/unit/arch-arm/Makefile                        |   39 +-
  test/unit/arch-arm/compilation-unit-stub.c         |   61 +
  test/unit/arch-arm/encode-test.c                   |  222 ++++
  test/unit/arch-arm/insn-selector-test.c            |  164 +++
  test/unit/arch-ppc/Makefile                        |   22 +
  test/unit/arch-ppc/encode-test.c                   |  101 ++
  test/unit/arch-ppc_32/Makefile                     |    1 -
  test/unit/arch-x86/Makefile                        |    1 +
  test/unit/arch-x86/encode-test.c                   |  129 ++-
  test/unit/jit/Makefile                             |    4 +
  test/unit/jit/arithmetic-bc-test.c                 |    2 +-
  test/unit/jit/cfg-analyzer-test.c                  |   41 +
  test/unit/jit/exception-stub.c                     |    6 +
  test/unit/jit/linear-scan-test.c                   |   12 +-
  test/unit/jit/live-range-test.c                    |    2 +
  test/unit/jit/switch-bc-test.c                     |  241 ++++
  test/unit/jit/trace-stub.c                         |   12 +-
  test/unit/libharness/libharness.c                  |    3 +-
  test/unit/vm/Makefile                              |    7 +
  test/unit/vm/bitset-test.c                         |   25 +
  test/unit/vm/class-stub.c                          |    3 +-
  test/unit/vm/method-stub.c                         |   10 +
  test/unit/vm/object-stub.c                         |    3 +-
  test/unit/vm/preload-stub.c                        |    1 +
  test/unit/vm/thread-stub.c                         |    4 +
  test/unit/vm/verifier-test.c                       |  325 +++++
  tools/test.py                                      |   38 +-
  torture/dacapo/compare-dacapo                      |    1 +
  vm/annotation.c                                    |    4 +-
  vm/boehm-gc.c                                      |   34 +-
  vm/bytecode.c                                      |  151 +++
  vm/class.c                                         |   89 +-
  vm/classloader.c                                   |  206 ++--
  vm/gc.c                                            |   62 +-
  vm/interp.c                                        |  267 ++++
  vm/jar.c                                           |   54 +-
  vm/jato.c                                          |  155 ++-
  vm/jni-interface.c                                 |    2 +-
  vm/method.c                                        |   40 +-
  vm/object.c                                        |   35 +-
  vm/preload.c                                       |  519 +--------
  vm/signal.c                                        |    9 +-
  vm/string.c                                        |    2 +-
  vm/thread.c                                        |   15 +-
  vm/trace.c                                         |   16 +-
  vm/verifier.c                                      |  990 +++++++++++++++
  vm/verify-functions.c                              | 1121 ++++++++++++++++
  235 files changed, 16644 insertions(+), 3798 deletions(-)
  create mode 100644 .travis.yml
  create mode 100644 Documentation/heap-profiling.txt
  create mode 100644 Documentation/internals.txt
  create mode 100644 arch/arm/encode.c
  create mode 100644 arch/arm/include/arch/byteorder.h
  create mode 100644 arch/arm/include/arch/encode.h
  create mode 100644 arch/arm/include/arch/inline-cache.h
  create mode 100644 arch/arm/include/arch/thread.h
  create mode 100644 arch/arm/insn-selector.brg
  create mode 100644 arch/arm/registers.c
  create mode 100644 arch/arm/stubs_to_compile.c
  create mode 100644 arch/ppc/encode.c
  create mode 100644 arch/ppc/include/arch/atomic.h
  create mode 100644 arch/ppc/include/arch/byteorder.h
  create mode 100644 arch/ppc/include/arch/cmpxchg.h
  create mode 100644 arch/ppc/include/arch/encode.h
  create mode 100644 arch/ppc/include/arch/init.h
  create mode 100644 arch/ppc/include/arch/inline-cache.h
  create mode 100644 arch/ppc/include/arch/itable.h
  create mode 100644 arch/ppc/include/arch/memory.h
  delete mode 100644 arch/ppc/include/arch/signal.h
  create mode 100644 arch/ppc/include/arch/text.h
  create mode 100644 arch/ppc/init.c
  delete mode 100644 arch/ppc/insn-selector.brg
  create mode 100644 arch/ppc/registers_32.c
  create mode 100644 arch/ppc/stubs_to_compile.c
  create mode 100644 arch/x86/asm-offsets.c
  create mode 100644 arch/x86/ic_lowlevel_32.S
  create mode 100644 arch/x86/ic_lowlevel_64.S
  create mode 100644 arch/x86/include/arch/byteorder.h
  create mode 100644 arch/x86/include/arch/inline-cache.h
  create mode 100644 arch/x86/include/arch/peephole.h
  create mode 100644 arch/x86/inline-cache.c
  create mode 100644 arch/x86/peephole.c
  create mode 100644 cafebabe/stack_map_table_attribute.c
  create mode 100644 include/arch/peephole.h
  create mode 100644 include/cafebabe/stack_map_table_attribute.h
  create mode 100644 include/jit/constant-pool.h
  create mode 100644 include/jit/inline-cache.h
  create mode 100644 include/jit/ssa.h
  create mode 100644 include/lib/arena.h
  create mode 100644 include/lib/big-endian.h
  create mode 100644 include/lib/little-endian.h
  create mode 100644 include/lib/swab.h
  create mode 100644 include/lib/zip.h
  create mode 100644 include/runtime/gnu_java_lang_management_VMThreadMXBeanImpl.h
  create mode 100644 include/runtime/java_lang_VMString.h
  create mode 100644 include/vm/interp.h
  create mode 100644 include/vm/preload-classes.h
  create mode 100644 include/vm/preload-methods.h
  create mode 100644 include/vm/verifier.h
  create mode 100644 jit/abc-removal.c
  create mode 100644 jit/constant-pool.c
  create mode 100644 jit/dce.c
  create mode 100644 jit/inline-cache.c
  create mode 100644 jit/ssa.c
  create mode 100644 lib/arena.c
  create mode 100644 lib/zip.c
  rename arch/ppc/backtrace.c => runtime/gnu_java_lang_management_VMThreadMXBeanImpl.c (83%)
  rename arch/ppc/signal.c => runtime/java_lang_VMString.c (87%)
  create mode 100755 scripts/gcc-has-lib.sh
  create mode 100644 sys/linux-ppc/Makefile
  create mode 100644 sys/linux-ppc/backtrace.c
  create mode 100644 sys/linux-ppc/exception.c
  create mode 100644 sys/linux-ppc/include/sys/signal.h
  create mode 100644 sys/linux-ppc/signal.c
  create mode 100644 test/functional/corrupt/CorruptedExceptionTableEndsAfterCode.class
  create mode 100644 test/functional/corrupt/CorruptedExceptionTableInvalidHandlerPC.class
  create mode 100644 test/functional/corrupt/CorruptedExceptionTableInvertedBorns.class
  create mode 100644 test/functional/corrupt/CorruptedFallingOff.class
  create mode 100644 test/functional/corrupt/CorruptedIncompleteInsn.class
  create mode 100644 test/functional/corrupt/CorruptedInvalidBranchNeg.class
  create mode 100644 test/functional/corrupt/CorruptedInvalidBranchNotOnInsn.class
  create mode 100644 test/functional/corrupt/CorruptedInvalidBranchOut.class
  create mode 100644 test/functional/corrupt/CorruptedInvalidOpcode.class
  create mode 100644 test/functional/corrupt/CorruptedLoadConstantDouble.class
  create mode 100644 test/functional/corrupt/CorruptedLoadConstantIndex.class
  create mode 100644 test/functional/corrupt/CorruptedLoadConstantSimple.class
  create mode 100644 test/functional/corrupt/CorruptedMaxLocalVar.class
  create mode 100644 test/functional/corrupt/README
  create mode 100644 test/functional/jvm/MethodOverridingFinal.j
  delete mode 100644 test/functional/jvm/lang/reflect/FieldTest.java
  create mode 100644 test/functional/test/java/lang/reflect/FieldAccessorsTest.java
  create mode 100644 test/perf/ICTime.java
  create mode 100644 test/unit/arch-arm/compilation-unit-stub.c
  create mode 100644 test/unit/arch-arm/encode-test.c
  create mode 100644 test/unit/arch-arm/insn-selector-test.c
  create mode 100644 test/unit/arch-ppc/Makefile
  create mode 100644 test/unit/arch-ppc/encode-test.c
  delete mode 100644 test/unit/arch-ppc_32/Makefile
  create mode 100644 test/unit/jit/exception-stub.c
  create mode 100644 test/unit/...