[ANNOUNCE] Jato 0.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx: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/jit/switch-bc-test.c
 create mode 100644 test/unit/vm/method-stub.c
 create mode 100644 test/unit/vm/verifier-test.c
 create mode 100644 vm/interp.c
 create mode 100644 vm/verifier.c
 create mode 100644 vm/verify-functions.c

[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux