All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- RISC-V: Hello World!
- NUMAProfiler: memory access profiling in C1X
- AllocationProfiler renamed to NUMAProfiler
- NUMAProfiler now needs to be built in the boot image (improves performance)
- Refactored cross-ISA unit-tests (now simpler to run)
- CompilationBroker now crashes if compilation exception is not CiBailout
- Stop relying on external native library for accessing libnuma
- AArch64 call-site patching ala OpenJDK (trampolines)
- Available processors reporting based on CPU_ISSET macro
- Tableswitch in AArch64, ARMv7 and RISC-V
- AArch64 ADRP fix
- AArch64 page size
- jdk8u212 support
- Binary file and assembly generation for offline compiled methods (for debugging/educational purposes)
- Support
-C1X:+PrintLIRWithAssembly
and-C1X:PrintCFGToFile
for all platforms through objdump - Off-heap allocation for allocation profiler (-XX:+AllocationProfilerAll -XX:+AllocationProfilerDump)
- Support
-XshowSettings
- Support
-cp
onmx olc
- Fixes to partially support the renaissance benchmark suite
- Fix
-T1X:+DebugMethods
and-C1X:+DebugMethods
- Allow faster dev cycles with docker on macOS
- Fix
mx inspect
on macOS
- Various new RISC-V instructions in assembler (mostly regarding floating points)
- C1X for RISC-V
- C1X test cases for RISC-V
- RISC-V partial image build through cross-compilation
- Allocation Profiler (-XX:+AllocationProfilerAll -XX:+AllocationProfilerDump) gathers stats about object allocations
- Fine grain allocation profiling with -XX:AllocationProfilerEntryPoint -XX:AllocationProfilerExitPoint
- -XX:+LogCompiledMethods to print all runtime compiled methods in the application
- New Jenkinsfile for running benchmarks
- CircleCI configuration
- Dockerfile to create docker images for running and developing Maxine VM
- Dockerization of Continuous Integration
- Reflection.getCallerClass()
- mx gen and jni code generation
- Reduced output of mx build
- Simplified conditional and boolean expressions (refactoring)
- Update Cross-ISA infrastructure to use newer tools
- Documentation refactoring and update
- MacOS support (with OpenJDK 8u181)
- Various new RISC-V instructions in assembler
- T1X for RISC-V
- T1X test cases for RISC-V
- Rename nul directory to nulll for MS windows compatibility
- Separated RISC-V 32 from RISC-V 64 ISAs
- version in docs
- Build against OpenJDK8u181-b13
- Transition to upstream mx for building
- Transition changelog to keep-a-changelog format
- Part of the asmdis package for generating assemblers and disassemblers
- AArch64 callsite patching
- JDK8 and JSR292 bug and stability fixes
- Obsolete methods from crossisa testing infrastructure
- jsr292 support on C1X
- Parallel and asynchronous JIT compilation
- Deoptimization in AArch64
- New way to test cross-isa assemblers
- Inspector fix to work with Java 8
- Bug and stability fixes
- Fix checkstyle url
- Bug fix that enables the c1xgraal configuration
- Initial port to AArch64 (runs Hello World)
- Implemented AArch64 C1X port
- Implemented first RISC-V instructions
- Bug and stability fixes
- Code refactoring and cleanup
- Implemented AArch64 Assembler
- Implemented AArch64 T1X port, Adapters
- Ported Cross-ISA testing infrastructure to RISC-V
- Bug and stability fixes
- Code refactoring and cleanup
- Support invokedynamic
- Support lambdas (Only on JDK8 builds)
- Support default methods (Only on JDK8 builds)
- Build against OpenJDK8u151-b12
- Bug and stability fixes
- End support for JDK6
- Support method handles
- Bug and stability fixes
- Port to latest OpenJDK 7 (u131)
- Enable profile-guided optimizations in Graal (T1X profiling info added)
- ARMv7 execution (T1X, C1X)
- Bug and stability fixes