Skip to content

[WIP] Add substitutions for annotation constructors #981

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 238 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
238 commits
Select commit Hold shift + click to select a range
1d77b87
Use ServiceLoader when the engine cannot be found by other means
Feb 6, 2019
be23ed7
Update files imported from libc++ and libc++abi to version 5.0.2.
rschatz Feb 13, 2019
579bd6f
compiler: upload coverage report to sonarqube
zapster Feb 12, 2019
9aae132
sulong: ignore jacoco for test projects
zapster Feb 13, 2019
1a388cd
sulong: sonarqube-upload add project name
zapster Feb 14, 2019
b697874
Merge libc++-update to master.
rschatz Feb 13, 2019
08da2cf
Update sulong CHANGELOG.md.
rschatz Feb 13, 2019
a85c223
sulong: initialize context more lazily
zapster Feb 14, 2019
30e13bf
Ensure consistent compiler options for analysis and compilation
olpaw Feb 12, 2019
a25718d
In JNIJavaCallWrapperMethod, add mandatory (dummy) FrameState.
peter-hofer Feb 14, 2019
ff3f6ce
Add substitutions for annotation constructors
johanvos Feb 15, 2019
c693007
[GR-13847] Ensure consistent compiler options for analysis and compil…
olpaw Feb 15, 2019
1827de6
Thread-safe lazy initialization of DynamicHub.getProtectionDomain() a…
peter-hofer Feb 13, 2019
97b18de
Keep debug info in debug images
gilles-duboscq Feb 14, 2019
e7df21c
sulong: allow disposal of uninitialzied context
zapster Feb 15, 2019
336e203
[GR-13929] Keep debug info in debug images.
gilles-duboscq Feb 15, 2019
4a57127
Swap order of compilationExecutor and analysisExecutor since this is …
johanvos Feb 15, 2019
ffc311f
[GR-13883] Update libc++ and libc++abi imports.
rschatz Feb 15, 2019
72a55f8
Add @GeneratedBy annotation for the @Option processor
eregon Feb 14, 2019
2abcf8f
Deprecate OptionCategory.DEBUG in favor of the clearer OptionCategory…
eregon Feb 14, 2019
88adadc
Fix copyright year
eregon Feb 15, 2019
5f70991
List OptionCategory.DEBUG options in the OptionCategory.INTERNAL cate…
eregon Feb 15, 2019
3bba7a5
Rename --help:debug to --help:internal in GraalVM launchers
eregon Feb 15, 2019
780c10c
[GR-13870] TruffleLanguage services should not need to extend Truffle…
tzezula Feb 15, 2019
2263b89
[GR-13846] [GR-13193] Instrumentation produces bad graphs for JNI wra…
peter-hofer Feb 15, 2019
99cc823
[WIP] Draft the code to add libgraal as GraalVM component.
ansalond Jan 24, 2019
666672c
Add env file for libgraal.
ansalond Jan 24, 2019
71e88ac
Fix entry point.
ansalond Jan 25, 2019
6fcde57
Fixes to the build arguments.
ansalond Jan 25, 2019
f45c9ed
Do not load management bin on SVM.
ansalond Jan 25, 2019
5c3384b
Add libgraal/vm gates.
ansalond Feb 4, 2019
0b9c732
Add libgraal/vm benchmarks.
ansalond Feb 5, 2019
510aae6
Optional registration of the 'LibGraal' component.
ansalond Feb 5, 2019
ddbf84c
Schedule 'LibGraal' gate.
ansalond Feb 8, 2019
37beea8
Schedule 'LibGraal' benchmarks.
ansalond Feb 11, 2019
c17de28
Enable assertions when running the LibGraal gate.
ansalond Feb 12, 2019
6f5b84c
Fix LibGraal dependencies.
ansalond Feb 12, 2019
64fae14
Run Truffle unit tests on LibGraal.
ansalond Feb 12, 2019
329af7d
Remove mx code for LibGraal from the SubstrateVM suite.
ansalond Feb 12, 2019
faf3b1e
Update README file.
ansalond Feb 12, 2019
8a9b26c
Fix 'LibGraal' benchmarks.
ansalond Feb 12, 2019
c90e66b
Fix pylint errors.
ansalond Feb 12, 2019
08d482c
Fix indentation.
ansalond Feb 13, 2019
7b9f5b9
Remove outdated builders.
ansalond Feb 15, 2019
d7f56a3
LibGraal benchmarks are 'daily'.
ansalond Feb 15, 2019
d4558fb
[GR-13882] Make DynamicHub.{allPermDomain,singleModule} thread safe.
peter-hofer Feb 15, 2019
d2d6eaa
Register `sun.nio.ch.NativeThread` to re-run its static initializer a…
Feb 16, 2019
8471513
Add access to the `select` library function.
Feb 16, 2019
b54b4a0
Interrupt blocking operations when a file descriptor is closed.
Feb 16, 2019
901cb38
[GR-13540] Interrupt blocking operations on file descriptor close.
Feb 16, 2019
178324e
[GR-13885] Compiler sonarqube upload.
zapster Feb 16, 2019
0652b3c
[GR-13945] Swap order of compilationExecutor and analysisExecutor sin…
olpaw Feb 18, 2019
d0a1236
[GR-13870] Added unit tests.
tzezula Feb 18, 2019
16c6ff1
[GR-13870] Fixed assertion.
tzezula Feb 18, 2019
ca5b313
[GR-13837] Add gates and benchmarks for LibGraal.
ansalond Feb 18, 2019
5b74745
Use the stack instead of globals for setjmp buffers.
loicottet Feb 1, 2019
e23100f
Add support for derived pointers in reference maps
loicottet Feb 12, 2019
2e90e60
Add bogus AnnotationConstructorMethod
johanvos Feb 18, 2019
e432ef9
[GR-13833] Rename OptionCategory.DEBUG to OptionCategory.INTERNAL.
eregon Feb 18, 2019
53758f1
Support providing a custom ImageHeapProvider.
peter-hofer Feb 18, 2019
3d1d4e9
Split off JAVA_SPECIFICATION_VERSION & releated into JavaVersionUtil
olpaw Feb 18, 2019
8c58433
Adjust to new position of Java8OrEarlier & related
olpaw Feb 18, 2019
8bee55c
Compute packagename similar to OpenJDK implementation
johanvos Feb 18, 2019
b5ad4a2
Allow navigation from class to static companion object via "static" m…
woess Jan 29, 2019
c1b4f75
Skip members referring to the same host object in ValueAssert.assertV…
woess Feb 8, 2019
814b72a
Update Context.asValue javadoc: mention "static" and "class" members.
woess Feb 18, 2019
596caca
Update SDK and Truffle changelog.
woess Feb 18, 2019
61cb8a1
Style fix
olpaw Feb 18, 2019
a9e6bec
Fix recent spotbugs (findbugs) findings.
Jan 28, 2019
9c9cbd9
Remove unnecessary boxing in LLVMMemory.
rschatz Feb 11, 2019
75937dc
Update mxversion to 5.210.2
Feb 12, 2019
78a5f8e
Rename com.oracle.svm.core.jdk9.posix to com.oracle.svm.core.posix.jdk9
Feb 14, 2019
a8a1b94
[GR-13959] Split off JAVA_SPECIFICATION_VERSION & related into JavaVe…
olpaw Feb 18, 2019
98421bd
[GR-13953] Support providing a custom ImageHeapProvider and Committed…
peter-hofer Feb 18, 2019
dfc34e4
adapt to JavaThread::_pending_failed_speculation type change
dougxc Feb 15, 2019
390f6c8
consolidated Graal creation of SpeculationReason objects
dougxc Feb 5, 2019
a163bae
added SpeculationLog to CompilationResult since ResolvedJavaMethod.ge…
dougxc Feb 14, 2019
dc5742f
improved type checking of SpeculationReasonGroup arguments
dougxc Feb 14, 2019
d99225b
added support for visiting fields of a Stamp
dougxc Feb 16, 2019
fa10c22
handle removal of sun.nio.ch.FileChannelImpl.position0 in jdk8u202
dougxc Feb 18, 2019
9636390
[GR-13686] Consolidated Graal creation of SpeculationReason objects.
dougxc Feb 18, 2019
e47b055
[GR-13870] Resolved review comments.
tzezula Feb 19, 2019
f4a9172
[GR-13337] Fix recent spotbugs (findbugs) findings.
Feb 19, 2019
230f1e2
Merge branch 'master' into 989-packagename
johanvos Feb 19, 2019
8d4c567
Added option descriptors using the option annotation.
Palez Feb 14, 2019
4237bba
Cleaning up the option description.
Palez Feb 18, 2019
cdce1a9
Removed deprecated DEBUG option.
Palez Feb 18, 2019
146f623
[GR-13975] Do not duplicate the vm suite name.
ansalond Feb 19, 2019
b0436f9
corrected libgraal instructions in README.md
dougxc Feb 18, 2019
80ffa4f
Fix tmpfs10g-g1gc benchmarks on LibGraal.
ansalond Feb 19, 2019
0cff2b5
Fix verifier instrument runs recursively.
chumer Feb 14, 2019
7319c82
[GR-13975] Do not run LibGraal benchmarks on Solaris/SPARC.
ansalond Feb 19, 2019
71df23a
Eclipse format, and added static variable used in tests of managed Su…
Palez Feb 19, 2019
71b0538
Do not even create the InlineScriptNode when execution comes from it.
entlicher Feb 19, 2019
b4b1248
[GR-13948] Add additional canonicalizations for right shift nodes and…
thomaswue Oct 16, 2018
b3376ea
Formatting (style/eclipse) changes.
Palez Feb 19, 2019
2a9c9bf
Fix logging of registerResource in the scanDirectory case
olpaw Feb 19, 2019
89e8eae
Implement detaching threads from a different thread.
peter-hofer Feb 13, 2019
479a171
Detach other threads in a safepoint, allow detaching multiple threads.
peter-hofer Feb 14, 2019
139c614
Expose detach threads in polyglot native API
vjovanov Feb 15, 2019
67f1a40
If not in JVMCI always use service loader to locate AbstractPolyglotImpl
Feb 19, 2019
5de727e
[GR-11297] Allow obtaining host symbol from class instance.
woess Feb 19, 2019
760889f
Use Thread.contextClassLoader to locate languages when in non-JVMCI mode
Feb 19, 2019
abd0903
Fixed isEntered().
entlicher Feb 19, 2019
2b7637d
Reserve sufficient locals for CustomSubstitutionMethod implementations.
peter-hofer Feb 19, 2019
d7e5f98
[GR-11463] Exception handling and GC improvements for LLVM backend.
loicottet Feb 19, 2019
b3af274
Fix deadlock issue on close; Make multiple threads that close context…
chumer Feb 19, 2019
18016f3
announce on console target of IGV dumps
dougxc Feb 19, 2019
ce410d4
print stack traces for uncaught Truffle compilation exceptions if ass…
dougxc Feb 19, 2019
5354b57
translate PrintGraph compiler option properly into Truffle runtime op…
dougxc Feb 19, 2019
84a80c9
[GR-13986] Fix logging of registerResource in the scanDirectory case.
olpaw Feb 19, 2019
c90f101
[GR-13860] Allow thread detach from a different thread.
vjovanov Feb 19, 2019
1db4360
[GR-13995] Insufficient max locals for substitution methods.
peter-hofer Feb 19, 2019
1f529da
[GR-13935] Support 'jlong' and 'long' types for JavaThread::_pending_…
vnkozlov Feb 14, 2019
0385893
[GR-13966] Prevent from StackOverflow in InlineSnippet verification.
entlicher Feb 20, 2019
95c7086
Fix DynamicHub.getProtectionDomain() substitution.
cstancu Feb 19, 2019
14594f7
Improve analysis error reporting.
cstancu Feb 19, 2019
4753af7
[GR-13981] Print IGV dump target on console.
dougxc Feb 20, 2019
9f05467
[GR-14006] Fix DynamicHub.getProtectionDomain() substitution [#985, #…
cstancu Feb 20, 2019
d6a282f
[GR-13935] Support 'jlong' and 'long' types for JavaThread::_pending_…
vnkozlov Feb 20, 2019
9a80265
Merge branch 'master' into 989-packagename
johanvos Feb 20, 2019
9be7ab4
[GR-12000] Sulong: initialize context more lazily.
zapster Feb 20, 2019
ac04105
Merge branch '989-packagename' of github.com:johanvos/graal into 989-…
johanvos Feb 20, 2019
adcef7a
Merge branch 'master' into 989-packagename
johanvos Feb 20, 2019
d4767a6
Install segfault handler only for executables by default
Feb 7, 2019
1699f55
Improve verification and error handling when entering Java code with …
Feb 7, 2019
c3b9ae8
Add OptionStability to specify the stability of an option
eregon Feb 19, 2019
246b7c8
[GR-13739] Add OptionStability to specify the stability of an option.
eregon Feb 20, 2019
54ae3e2
Update versions
olyagpl Feb 20, 2019
5d32c31
Revise heap settings in benchmarks
farquet Feb 15, 2019
561db16
[GR-13870] Preventing service classes to be loaded.
tzezula Feb 20, 2019
f57990b
[GR-13751] Improve verification and error handling when entering Java…
Feb 20, 2019
6acd1b7
HotSpotGraalRuntime cannot depend on ImageInfo.
ansalond Feb 19, 2019
f4a3a2b
[GR-13870] Fixed CHANGELOG.md.
tzezula Feb 20, 2019
ecd7c8d
GR-13317 - Use JDK Native Libraries on Linux and OSX
bobvandette Feb 20, 2019
826d373
Move TruffleStackTraceElement#{fillIn,getStackTrace} to TruffleStackT…
eregon Feb 20, 2019
195e516
No need to call TruffleStackTrace.fillIn() before TruffleStackTrace.g…
eregon Feb 20, 2019
10035f6
Improve JavaDoc of TruffleStackTrace
eregon Feb 20, 2019
336eb5e
Fix wrong try/catch block; Use Lock instead of Semaphore for closing;…
chumer Feb 20, 2019
2a7a963
Add ChangeLog entry
eregon Feb 20, 2019
9cd4257
Add better documentation for the closeImpl method.
chumer Feb 20, 2019
022b090
Revert change to LanguageSPITest.
chumer Feb 20, 2019
ae10f6b
Changing the cache to be a WeakHashMap with ClassLoader as its key
Feb 20, 2019
5e875be
Fix copyright year
eregon Feb 20, 2019
1bde395
Changing the instruments cache to a WeakHashMap with ClassLoader as a…
Feb 20, 2019
5328ffa
Bump year in sulong/LICENSE file.
rschatz Feb 20, 2019
80806fd
Fix deadlock when the engine lock is acquired while the closing lock …
chumer Feb 20, 2019
7c979aa
Merge remote-tracking branch 'origin/master' into jtulach/NetBeansRC13
Feb 20, 2019
54df2ed
Fix imports.
chumer Feb 20, 2019
09d2010
fix format gate failure
bobvandette Feb 20, 2019
6138242
Improve testing to increase coverage.
chumer Feb 20, 2019
de6b662
Allow engines close to continue if the context is currently closing.
chumer Feb 20, 2019
d4d3815
Tests need to reset also current class loader languages
Feb 20, 2019
6a29f2c
Properly uses whitespace symbols
Feb 20, 2019
f1201f5
Add @since tags and fix name of arguments to match JavaDoc
eregon Feb 20, 2019
f1b5cdb
[GR-13948] Add additional canonicalizations for right shift nodes and…
thomaswue Feb 20, 2019
2bbd112
Fix findbugs warnings.
chumer Feb 20, 2019
370f896
[GR-12311] Revise heap settings in benchmarks.
farquet Feb 20, 2019
1b4061d
Merge remote-tracking branch 'origin/master' into cs/GR-14007-add-dyn…
cstancu Feb 20, 2019
e6918b7
Fix style.
cstancu Feb 20, 2019
d8d38ed
[GR-13317] Use JDK Native Libraries on Linux and OSX.
bobvandette Feb 20, 2019
e5aaddf
Allow customization of System.in/out/err
Feb 11, 2019
27a50d7
Installing a SecurityManager is not supported
Feb 13, 2019
a474798
Support manual control over list of FileSystemProvider
Feb 13, 2019
2dc89e0
Support manual control over list of FileTypeDetector
Feb 13, 2019
219a047
Add option to disable SecurityServicesFeature
Feb 13, 2019
21458ad
Fix Java8OrEarlier location.
cstancu Feb 20, 2019
49d897b
[GR-6405] Update GraalVM imports.
ansalond Feb 20, 2019
4ff165d
[GR-13977] Fix FastR builder.
ansalond Feb 20, 2019
6e3968c
[GR-13975] Fix LibGraal benchmarks.
ansalond Feb 20, 2019
7fb0527
[GR-13776] [GR-13712] [GR-13719] [GR-13671] Improve OS customization …
cstancu Feb 20, 2019
b1515af
[GR-14007] Add DynamicHub.getPackageName().
cstancu Feb 21, 2019
dad0f92
[GR-14014] Tests fail on instrumentation failure and verify if inline…
entlicher Feb 20, 2019
7289858
[GR-14010] Native image pulls GraalVMLocator.addJar method inside the…
tzezula Feb 21, 2019
9aac4cd
[GR-13870] TruffleLanguage services should not need to extend Truffle…
tzezula Feb 21, 2019
659f57a
[GR-14013] Outdated versions in graal/readme.
olyagpl Feb 21, 2019
6a7b7ca
Update CI overlay version
farquet Feb 21, 2019
d79d23d
[GR-14010] Native image pulls GraalVMLocator.addJar method inside the…
tzezula Feb 21, 2019
1cffab5
Make shutdown hook more robust in case it is currently entered. Don't…
chumer Feb 21, 2019
b8c5de7
Support for multiple archive types
sdedic Feb 11, 2019
005b350
Updated suite
sdedic Feb 11, 2019
f051d52
Simple license management during installation
sdedic Feb 11, 2019
12e7b87
Refactored download and remote support
sdedic Feb 11, 2019
56a539c
Support for multiple archive readers
sdedic Feb 11, 2019
f640aff
Allow installer to accept drop-in jars.
sdedic Feb 11, 2019
6faf0d0
Allowed proxies for catalog access, prepared for partial archive down…
sdedic Feb 7, 2019
5353942
Format + gate fixes
sdedic Feb 8, 2019
618af30
Better implemented password input, noninteractive mode.
sdedic Feb 8, 2019
4c36087
[GR-14014] Tests fail on instrumentation failure and verify if inline…
entlicher Feb 21, 2019
c54778f
Merge remote-tracking branch 'origin/master' into jtulach/NetBeansRC13
Feb 21, 2019
551cda9
Update GraalPython import.
ansalond Feb 21, 2019
a78c7ab
languages method now takes ClassLoader parameter
Feb 21, 2019
9ddfdaf
Minor improvements from review.
sdedic Feb 19, 2019
e44c288
[GR-14047] PrintGraph option does not work in libgraal Truffle compiler.
tzezula Feb 21, 2019
b927d22
Fix do not fail engine closing if a context is currently cancelled.
chumer Feb 21, 2019
97622e3
[GR-13780] Move TruffleStackTraceElement#{fillIn,getStackTrace} to Tr…
eregon Feb 21, 2019
5a8c473
[GR-12311] Update CI overlay version.
farquet Feb 21, 2019
e588f1c
[GR-12396] Make sure NetBeans works with Graal.js RC13.
Feb 21, 2019
fa1cbc9
[GR-13931] Improve GraalVM VM name.
ansalond Feb 20, 2019
ea47a71
[GR-14032] Bump year in sulong/LICENSE file.
rschatz Feb 21, 2019
a0a1039
[GR-13194] The ruby launcher is 'truffleruby', not 'ruby'.
ansalond Feb 14, 2019
2bf26ab
[GR-14056] Fix building native-image on Posix systems using JNI stati…
bobvandette Feb 21, 2019
831fb0e
Merge branch 'master' of into topic/GR-14056
bobvandette Feb 21, 2019
bd3e67b
[GR-13944] [GR-14003] Fix deadlock issue on close; Make multiple thre…
chumer Feb 21, 2019
c27b2db
remove unused import
bobvandette Feb 21, 2019
712937c
Update TruffleRuby import.
ansalond Feb 22, 2019
29a8a1b
Fix version check.
ansalond Feb 21, 2019
d6206d7
Fix 'vm' ci file.
ansalond Feb 22, 2019
62b5e4a
[GR-14040] Temporarily run gate-vm-libgraal as post-merge.
ansalond Feb 22, 2019
919c06e
[GR-14058] Temporarily run gate-sulong-ruby-downstream as post-merge.
ansalond Feb 22, 2019
6f57523
[GR-13931] Improve GraalVM VM name.
ansalond Feb 22, 2019
c4aa9e9
[GR-6405] Update GraalVM imports.
ansalond Feb 22, 2019
fdcf88c
[GR-14047] PrintGraph option does not work in libgraal Truffle compiler.
tzezula Feb 22, 2019
ce29bc0
Convert SVM_HOSTED_NATIVE to layout distribution.
rschatz Feb 18, 2019
55243ba
[GR-13802] Llvm-optionAnnotation.
Palez Feb 22, 2019
877b91a
Make ThreadLocalHandles shared between JNI and polyglot API
vjovanov Jan 23, 2019
13a0b8e
[GR-13990] Convert SVM_HOSTED_NATIVE to layout distribution.
rschatz Feb 22, 2019
29ba13d
[GR-13474] Add multiple software channel support to GU.
sdedic Feb 22, 2019
e64888c
[GR-14056] Fix building native-image on Posix systems using JNI stati…
bobvandette Feb 22, 2019
a31ab17
Ensure FileTypeDetectors from image classpath get registered
olpaw Feb 22, 2019
3bb995f
Style fix
olpaw Feb 22, 2019
9b9a8d1
[GR-14061] Ensure FileTypeDetectors from image classpath get registered.
olpaw Feb 22, 2019
8afbace
[GR-12443] Make ThreadLocalHandles shared between JNI and polyglot API.
ftauheed Feb 22, 2019
84b4516
use new HotSpotSpeculationLog API for encoding failed speculations in…
dougxc Feb 11, 2019
9e3bbd7
need strong reference to master HotSpotSpeculationLog
dougxc Feb 12, 2019
e0e34f8
documented invariants on managed HotSpotSpeculationLog used by Truffle
dougxc Feb 12, 2019
fad470e
update to jvmci-0.55
dougxc Feb 22, 2019
dcaa97b
removed substitutions made unnecessary by JDK-8202261
dougxc Feb 22, 2019
766a30e
update to jvmci-0.55 non-dev binaries
dougxc Feb 22, 2019
874220b
[GR-13934] [GR-13434] Use new HotSpotSpeculationLog API in Graal.
dougxc Feb 23, 2019
ada0f40
Add substitutions for annotation constructors
johanvos Feb 15, 2019
77c2a8b
Add bogus AnnotationConstructorMethod
johanvos Feb 18, 2019
49f1880
Merge branch '968-annotationinit' of github.com:johanvos/graal into 9…
johanvos Feb 23, 2019
4952bdb
add correct AnnotationConstructor, contribute by @vjovanov
johanvos Feb 23, 2019
1d3febf
Add substitutions for annotation constructors
johanvos Feb 15, 2019
3e68ec2
Add bogus AnnotationConstructorMethod
johanvos Feb 18, 2019
2c52377
add correct AnnotationConstructor, contribute by @vjovanov
johanvos Feb 23, 2019
108a332
Merge branch '968-annotationinit' of github.com:johanvos/graal into 9…
johanvos Feb 23, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jdk:

env:
global:
- JVMCI_VERSION="jvmci-0.54"
- JDK8_UPDATE_VERSION="192"
- JVMCI_VERSION="jvmci-0.55"
- JDK8_UPDATE_VERSION="202"

matrix:
include:
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ images or shared objects.

## Related Repositories
GraalVM allows running of following languages which are being developed and tested in related repositories with GraalVM core to run on top of it using Truffle and Graal compiler. These are:
* [Graal.JS](https://github.com/graalvm/graaljs) - JavaScript (ECMAScript 2017 compatible) and node.js 8.11.1
* [FastR](https://github.com/oracle/fastr) - R Language 3.4.0
* [Graal.JS](https://github.com/graalvm/graaljs) - JavaScript (ECMAScript 2018 compatible) and node.js 10.15.0
* [FastR](https://github.com/oracle/fastr) - R Language 3.5.1
* [GraalPython](https://github.com/graalvm/graalpython) - Python 3.7
* [TruffleRuby](https://github.com/oracle/truffleruby/) - Ruby Programming Language 2.3.7
* [TruffleRuby](https://github.com/oracle/truffleruby/) - Ruby Programming Language 2.4.4
* [SimpleLanguage](https://github.com/graalvm/simplelanguage) - A simple demonstration language for the GraalVM.


Expand Down
2 changes: 2 additions & 0 deletions ci.hocon
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ include "sulong/ci.hocon"
#include "examples/ci.hocon"

jvm-config.default = "graal-core"
libgraal_env = "libgraal"
vm_subdir = "vm"

include "compiler/ci_common/common.hocon"
include "compiler/ci_common/gate.hocon"
Expand Down
11 changes: 7 additions & 4 deletions common.hocon
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# overlay version
overlay = a84dd00c92041dfcd04b34c8d3f4d9e8c047d510
overlay = d0a64ff32d27517b0683ae6ce9cf9614a7fb51d3

# oraclejdk* are released OracleJDK binaries
# labsjdk* are JDKs based on OracleJDK binaries
# openjdk8 JDKs on Linux are built by Oracle Labs
# openjdk8 JDKs on macOS are based on AdoptOpenJDK binaries
jdks: {
labsjdk8: {name : labsjdk, version : "8u192-jvmci-0.54", platformspecific: true}
openjdk8: {name : openjdk, version : "8u192-jvmci-0.54", platformspecific: true}
labsjdk8Debug: {name : labsjdk, version : "8u192-jvmci-0.54-fastdebug", platformspecific: true}
labsjdk8: {name : labsjdk, version : "8u202-jvmci-0.55", platformspecific: true}
openjdk8: {name : openjdk, version : "8u202-jvmci-0.55", platformspecific: true}
labsjdk8Debug: {name : labsjdk, version : "8u202-jvmci-0.55-fastdebug", platformspecific: true}
oraclejdk11: {name : oraclejdk, version : "11+28", platformspecific: true}
openjdk11: {name : openjdk, version : "11+28", platformspecific: true}

Expand Down Expand Up @@ -91,6 +91,9 @@ linux-aarch64 : ${linux} {
capabilities : [linux, aarch64]
}

DEFAULT_HEAP_SIZE : "8G"
LARGE_HEAP_SIZE : "31G"

eclipse : {
downloads : {
ECLIPSE : {name: eclipse, version: "4.5.2", platformspecific: true}
Expand Down
44 changes: 29 additions & 15 deletions compiler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ The advantage of this mode is that Graal can be debugged with a Java debugger.

However, it has some disadvantages. Firstly, since Graal uses the object heap, it can
reduce application object locality and increase GC pause times. Additionally, it can
complicate fine tuning options such as `-Xmx` and `Xms` which now need to take the
complicate fine tuning options such as `-Xmx` and `-Xms` which now need to take the
heap usage of Graal needs to be taken into account. Secondly, Graal will initially be executed
in the interpreter and only get faster over time as its hot methods are JIT
compiled. This is mitigated to some degree by forcing Graal (and JVMCI)
Expand All @@ -125,25 +125,39 @@ Graal uses memory separate from the HotSpot heap and it runs compiled
from the start. That is, it has execution properties similar to other native HotSpot
compilers such as C1 and C2.

To build libgraal, you need to use the `native-image` tool in the `substratevm` suite.
To build a GraalVM image with libgraal:

```
cd graal/substratevm
mx build
mx buildlibgraal
cd graal/vm
mx --env libgraal build
```

This will produce a shared library in the current working directory whose name is
compliant with the shared library naming conventions for the platform;
`libjvmcicompiler.dylib` (macOS), `libjvmcicompiler.so` (Linux, Solaris, etc), `graal.dll` (Windows).

To use this library, copy it to the same directory as `libjava.dylib`/`libjava.so`/`java.dll`
in your JVMCI JDK8 installation and use the options `-XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary`. Alternatively,
you can directly specify the path to the library as the value to `-XX:JVMCILibPath=`.
For example:
The newly built GraalVM image is available at:
```
mx --env libgraal graalvm-home
```
or following this symlink:
```
mx vm -XX:JVMCILibPath=/path/to/libjvmcicompiler.dylib -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary ...
./latest_graalvm_home
```
For more information about building GraalVM images, see the [README file of the vm suite](../vm/README.md).

Without leaving the `graal/vm` directory, you can now run libgraal as follows:

1. Use the GraalVM image that you just built:

```
./latest_graalvm_home/bin/java -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary ...
```

2. Use `mx`:
- On linux:
```
mx -p ../compiler vm -XX:JVMCILibPath=latest_graalvm_home/jre/lib/amd64 -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary ...
```
- On macOS:
```
mx -p ../compiler vm -XX:JVMCILibPath=latest_graalvm_home/jre/lib -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary ...
```

## Publications and Presentations

Expand Down
42 changes: 28 additions & 14 deletions compiler/ci_common/bench.hocon
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ bench-jvmci : {

bench-common : ${compilerCommon} {
environment: {
BENCH_RESULTS_FILE_PATH: "bench-results.json"
BENCH_RESULTS_FILE_PATH : "bench-results.json"
}
setup: ${compilerCommon.setup} [
["mx", "build"]
Expand All @@ -33,21 +33,35 @@ bench-common : ${compilerCommon} {
]
}

bench-dacapo: ${bench-common} ${dacapo-bench-notifications} {
large-heap: {
environment : {
XMS: ${LARGE_HEAP_SIZE}
XMX: ${LARGE_HEAP_SIZE}
}
}

default-heap: {
environment : {
XMS: ${DEFAULT_HEAP_SIZE}
XMX: ${DEFAULT_HEAP_SIZE}
}
}

bench-dacapo: ${bench-common} ${default-heap} ${dacapo-bench-notifications} {
targets : [bench, post-merge]
run: [
${bench-jvmci.mx-dacapo} ${bench-arguments}
]
}

bench-dacapo-timing: ${bench-common} ${dacapo-bench-notifications} {
bench-dacapo-timing: ${bench-common} ${default-heap} ${dacapo-bench-notifications} {
targets: [bench, daily]
run: [
${bench-jvmci.mx-dacapo-timing} ${bench-arguments}
]
}

bench-dacapo-move-profiling: ${bench-common} ${dacapo-bench-notifications} {
bench-dacapo-move-profiling: ${bench-common} ${default-heap} ${dacapo-bench-notifications} {
targets: [bench, daily]
run: [
${bench-jvmci.mx-dacapo-move-profiling} ${bench-arguments}
Expand All @@ -56,21 +70,21 @@ bench-dacapo-move-profiling: ${bench-common} ${dacapo-bench-notifications} {

# Scala DaCapo-related targets

bench-scala-dacapo: ${bench-common} ${scala-dacapo-bench-notifications} {
bench-scala-dacapo: ${bench-common} ${default-heap} ${scala-dacapo-bench-notifications} {
targets: [bench, post-merge]
run: [
${bench-jvmci.mx-scala-dacapo} ${bench-arguments}
]
}

bench-scala-dacapo-timing: ${bench-common} ${scala-dacapo-bench-notifications} {
bench-scala-dacapo-timing: ${bench-common} ${default-heap} ${scala-dacapo-bench-notifications} {
targets: [bench, daily]
run: [
${bench-jvmci.mx-scala-dacapo-timing} ${bench-arguments}
]
}

bench-scala-dacapo-move-profiling: ${bench-common} ${scala-dacapo-bench-notifications} {
bench-scala-dacapo-move-profiling: ${bench-common} ${default-heap} ${scala-dacapo-bench-notifications} {
targets: [bench, daily]
run: [
${bench-jvmci.mx-scala-dacapo-move-profiling} ${bench-arguments}
Expand All @@ -79,7 +93,7 @@ bench-scala-dacapo-move-profiling: ${bench-common} ${scala-dacapo-bench-notifica

# SPECjbb2005-related targets

bench-specjbb2005: ${bench-common} ${specjbb-bench-notifications} {
bench-specjbb2005: ${bench-common} ${large-heap} ${specjbb-bench-notifications} {
targets: [bench, post-merge]
downloads: {
SPECJBB2005: { name: specjbb2005, version: "1.07" }
Expand All @@ -91,7 +105,7 @@ bench-specjbb2005: ${bench-common} ${specjbb-bench-notifications} {
}

# SPECJvm2008-related targets
bench-specjvm2008: ${bench-common} ${specjvm-bench-notifications} {
bench-specjvm2008: ${bench-common} ${large-heap} ${specjvm-bench-notifications} {
downloads: {
SPECJVM2008: { name: specjvm2008, version: "1.01" }
}
Expand Down Expand Up @@ -121,7 +135,7 @@ bench-specjvm2008-OneVM: ${bench-specjvm2008} ${specjvm-bench-notifications} {

# SPECjbb2015-related targets

bench-specjbb2015: ${bench-common} ${specjbb-bench-notifications} {
bench-specjbb2015: ${bench-common} ${large-heap} ${specjbb-bench-notifications} {
targets: [bench, post-merge]
run: [
${bench-jvmci.mx-specjbb2015} ${bench-arguments}
Expand All @@ -134,15 +148,15 @@ bench-specjbb2015: ${bench-common} ${specjbb-bench-notifications} {

# JMH micros graal

bench-micros-graal-whitebox: ${bench-common} ${micros-bench-notifications} {
bench-micros-graal-whitebox: ${bench-common} ${default-heap} ${micros-bench-notifications} {
targets: [bench, weekly]
run: [
${bench-jvmci.mx-micros-graal-whitebox} ${bench-arguments}
]
timelimit: "3:00:00"
}

bench-micros-graal-dist: ${bench-common} ${micros-bench-notifications} {
bench-micros-graal-dist: ${bench-common} ${default-heap} ${micros-bench-notifications} {
targets: [bench, weekly]
run: [
${bench-jvmci.mx-micros-graal-dist} ${bench-arguments}
Expand All @@ -152,7 +166,7 @@ bench-micros-graal-dist: ${bench-common} ${micros-bench-notifications} {

# Renaissance-related targets

bench-renaissance: ${bench-common} ${renaissance-bench-notifications} {
bench-renaissance: ${bench-common} ${default-heap} ${renaissance-bench-notifications} {
targets: [bench, post-merge]
run: [
${bench-jvmci.mx-renaissance} ${bench-arguments}
Expand All @@ -165,7 +179,7 @@ bench-renaissance: ${bench-common} ${renaissance-bench-notifications} {

# spark-sql-perf-related targets

bench-spark-sql-perf: ${bench-common} {
bench-spark-sql-perf: ${bench-common} ${default-heap} {
targets: [bench, post-merge]
run: [
${bench-jvmci.mx-spark-sql-perf} ${bench-arguments}
Expand Down
3 changes: 2 additions & 1 deletion compiler/ci_common/gate.hocon
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ gateCoverage : {
EXTRA_VM_ARGS : ""
}
run : [
${gateCmd} ["build,coverage", --jacoco-zip, report.zip]
${gateCmd} ["build,coverage", --jacocout, html]
[mx, sonarqube-upload, "-Dsonar.host.url=$SONAR_HOST_URL", "-Dsonar.projectKey=com.oracle.graal.compiler."${jvm-config.default}, "-Dsonar.projectName=GraalVM - Compiler ("${jvm-config.default}")", --exclude-generated]
]
}

Expand Down
2 changes: 1 addition & 1 deletion compiler/ci_common/gate_tasks.hocon
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ builds += [
${gateTestBenchmark} ${labsjdk8} ${gateLinuxAMD64} {name: "gate-compiler-benchmarktest-8-linux-amd64"}
${gateTestBenchmark} ${labsjdk8Debug} ${gateLinuxAMD64} {name: "weekly-test-compiler-benchmarktest-8-linux-amd64-fastdebug"} ${graalWeekly}
${gateStyle} ${labsjdk8} ${gateLinuxAMD64} {name: "gate-compiler-style-linux-amd64"}
${gateCoverage} ${labsjdk8} ${gateLinuxAMD64} {name: "weekly-compiler-coverage-8-linux-amd64", timelimit: "1:50:00"} ${graalWeekly} { logs += [*/report.zip] }
${gateCoverage} ${labsjdk8} ${gateLinuxAMD64} {name: "weekly-compiler-coverage-8-linux-amd64", timelimit: "1:50:00"} ${graalWeekly}

${gateTestCompileImmediately} ${labsjdk8} ${gateLinuxAMD64} {name: "gate-compiler-test-compile-immediately-8-linux-amd64"}
${gateMathStubsListener} {name: "daily-hotspot-mathstubs-listener"}
Expand Down
3 changes: 0 additions & 3 deletions compiler/ci_common/m7_eighth.hocon
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
m7_eighth.default : ${solaris-sparcv9} {
capabilities: ${solaris-sparcv9.capabilities} [m7_eighth]
environment : {
XMX : "16g"
XMS : "16g"
JVM_CONFIG : ${jvm-config.default}
JVM : "server"
MACHINE_NAME: "m7_eighth"
Expand All @@ -17,7 +15,6 @@ m7_eighth.default-g1gc : ${m7_eighth.default} {
}
}


builds += [
${m7_eighth.default} ${bench-dacapo} ${labsjdk8} { name: "bench-compiler-dacapo-solaris-m7_eighth", timelimit: "1:00:00" }
${m7_eighth.default} ${bench-dacapo-timing} ${labsjdk8} { name: "bench-compiler-dacapo-timing-solaris-m7_eighth", timelimit: "1:00:00" }
Expand Down
14 changes: 6 additions & 8 deletions compiler/ci_common/x52-jfr.hocon
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
bench-dacapo-jfr: ${bench-common} ${jfr-bench-notifications} {
bench-dacapo-jfr: ${bench-common} ${default-heap} ${jfr-bench-notifications} {
environment : {
BENCH_SUITE : "dacapo"
}
Expand All @@ -9,7 +9,7 @@ bench-dacapo-jfr: ${bench-common} ${jfr-bench-notifications} {
teardown: ${JFR.teardown} # NOTE : Exclude branch-common to avoid polluting bench server with slower runs
}

bench-scala-dacapo-jfr: ${bench-common} ${jfr-bench-notifications} {
bench-scala-dacapo-jfr: ${bench-common} ${default-heap} ${jfr-bench-notifications} {
environment : {
BENCH_SUITE : "scala-dacapo"
}
Expand All @@ -20,7 +20,7 @@ bench-scala-dacapo-jfr: ${bench-common} ${jfr-bench-notifications} {
teardown: ${JFR.teardown} # NOTE : Exclude branch-common to avoid polluting bench server with slower runs
}

bench-specjvm2008-Single-jfr: ${bench-specjvm2008} ${jfr-bench-notifications} {
bench-specjvm2008-Single-jfr: ${bench-specjvm2008} ${large-heap} ${jfr-bench-notifications} {
environment : {
BENCH_SUITE : "specjvm2008"
}
Expand All @@ -36,7 +36,7 @@ bench-specjvm2008-Single-jfr: ${bench-specjvm2008} ${jfr-bench-notifications} {
timelimit: "3:30:00"
}

bench-specjbb2015-jfr: ${bench-common} ${jfr-bench-notifications} {
bench-specjbb2015-jfr: ${bench-common} ${large-heap} ${jfr-bench-notifications} {
environment : {
BENCH_SUITE : "specjbb2015"
}
Expand All @@ -51,7 +51,7 @@ bench-specjbb2015-jfr: ${bench-common} ${jfr-bench-notifications} {
timelimit: "3:00:00"
}

bench-renaissance-jfr: ${bench-common} ${jfr-bench-notifications} {
bench-renaissance-jfr: ${bench-common} ${default-heap} ${jfr-bench-notifications} {
environment : {
BENCH_SUITE : "renaissance"
}
Expand All @@ -66,7 +66,7 @@ bench-renaissance-jfr: ${bench-common} ${jfr-bench-notifications} {
timelimit: "3:45:00"
}

bench-spark-sql-perf-jfr: ${bench-common} ${jfr-bench-notifications} {
bench-spark-sql-perf-jfr: ${bench-common} ${default-heap} ${jfr-bench-notifications} {
environment : {
BENCH_SUITE : "spark-sql-perf"
}
Expand All @@ -84,8 +84,6 @@ bench-spark-sql-perf-jfr: ${bench-common} ${jfr-bench-notifications} {
x52.default-jfr : ${linux-amd64} {
capabilities: ${linux-amd64.capabilities} [x52, no_frequency_scaling]
environment : {
XMX : "64g"
XMS : "64g"
JVM_CONFIG : ${jvm-config.default}
JVM : "server"
MACHINE_NAME: "x52"
Expand Down
Loading