Skip to content
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

Merge upstream vm-23.1.5 tag #41

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
597 commits
Select commit Hold shift + click to select a range
bd2dfbb
Equivalence classes should be shared per language.
woess Sep 1, 2023
fa276ea
Synchronize shared module instantiation.
woess Sep 1, 2023
15a84f3
Simplify code using StandardCharsets.UTF_8.
woess Sep 1, 2023
e1b6cfe
Test "import_export_mutable_globals" needs memory to be reset between…
woess Sep 1, 2023
a2ecbe4
Run linker tests in async compilation mode, too.
woess Sep 1, 2023
5abca17
Remove unused method.
woess Sep 1, 2023
d34efbc
On-the-fly wat2wasm compilation using stdin+stdout.
woess Sep 1, 2023
79b4fff
Test wasm with shared engine in the gate.
woess Sep 1, 2023
0c243d2
Make shared-engine testing multi-threaded.
woess Sep 1, 2023
bfa4ee0
ResolutionDag should use a Map that preserves insertion order.
woess Sep 10, 2023
609b0f4
Avoid relying on the first module to be named "main" in launcher, tes…
woess Sep 12, 2023
8e35802
No longer expose "main" module in WasmScope.
woess Sep 12, 2023
340b2e3
Special handling of main module memory import into WASI built-in module.
woess Sep 12, 2023
290574c
No longer resolve "main" module imports specially.
woess Sep 12, 2023
8e68d55
Fix wasm main module lookup in polybench launcher.
woess Sep 13, 2023
3b479f8
Remove and recreate link actions also in multi-context mode.
woess Sep 12, 2023
bf45072
Rename WasmInstrumentableFunctionNode to functionNode.
woess Sep 13, 2023
3c67140
Move bound module instance from WasmFunctionNode to WasmRootNode.
woess Sep 13, 2023
3642955
Set bound module instance also for built-in root nodes.
woess Sep 13, 2023
9922bcd
Fix getting WasmInstance from OSR Frame.
woess Oct 10, 2023
40f5037
Add Wasm bytecode OSR test.
woess Oct 10, 2023
9ae89f0
Get thread-local multi-value stack from the WasmLanguage directly.
woess Oct 10, 2023
bc3dfd7
Fix test comments.
woess Oct 18, 2023
430e516
Skip wasi_path_symlink test on windows, fails transiently.
woess Oct 18, 2023
1774ad3
Reenable wasi_path_rename test, except for windows (due to transients).
woess Oct 18, 2023
d7947cc
Must not pass node of a different sharing layer due to WasmLanguage.g…
woess Oct 16, 2023
bde95da
Add WasmConstant.toString().
woess Oct 17, 2023
b1035c9
Add regression test for multi-value return from another WasmLanguage …
woess Oct 17, 2023
3ab6eac
Improved LABEL_U8 encoding
flohuemer Oct 6, 2023
6b21573
Updated tests
flohuemer Oct 12, 2023
6992d60
Use separate switch case labels, so that eclipse does not attempt to …
woess Oct 18, 2023
45a1018
Fix passing multi-value result between different language instances.
woess Oct 18, 2023
c070db6
Update regression test.
woess Oct 18, 2023
baf91c4
Always use extractMultiValueResultInternal for non-imported direct ca…
woess Oct 19, 2023
60c6987
Move multi-value results onto the multi-value stack in the wrapper fu…
woess Oct 23, 2023
9f21bcf
Fix multi-value result tests in WasmJsApiSuite.
woess Oct 23, 2023
f4d0344
Null out references popped from the multi-value stack to prevent memo…
woess Oct 24, 2023
5891096
Use uncached InteropLibrary to avoid polyglot sharing layer violation.
woess Oct 25, 2023
ae9afb4
Fixed bug in assertion error.
flohuemer Apr 16, 2024
e21ef5f
Disable async-parsing for negative values of the respective option.
axel22 Feb 22, 2024
0c42151
Change AsyncParsingBinarySize option semantics to avoid async parsing
axel22 Feb 23, 2024
e7a1139
Implemented readBuffer for WasmMemory
flohuemer Dec 7, 2023
83b4fdd
Removed Assert.java. Use org.junit.Assert instead.
flohuemer Dec 12, 2023
767c1eb
Use Unsafe#copyMemory in NativeWasmMemory.
flohuemer Dec 12, 2023
477a390
Initial support for a few vector ops
jirkamarsik Nov 23, 2023
2bfa574
Simple benchmark trying to suss out vector instructions
jirkamarsik Nov 23, 2023
b847d7b
Use Unsafe to interpret byte arrays in v128 values
jirkamarsik Nov 27, 2023
cfc36bd
Switch from Unsafe to Truffle's ByteArraySupport
jirkamarsik Dec 1, 2023
6caae96
Use ExplodeLoop annotation on vector ops
jirkamarsik Dec 1, 2023
8048668
Add flat benchmarks and benchmarks for multiplication of ints and dou…
jirkamarsik Dec 5, 2023
1fef2fd
Add f64x2, support all binops on i32x4 and f64x2
jirkamarsik Dec 5, 2023
a83ac56
Support Vector128 values in globals
jirkamarsik Dec 17, 2023
fdebb92
[GR-53545] Backport to 23.1 : Fix stepping into intrinsified Java met…
TheTaha-Alamine Jul 1, 2024
415dc76
[GR-54971] Backport to 23.1: Don't treat yellow-zone code as VM-inter…
elkorchi Jul 1, 2024
e045add
update JVMCI to 21.0.4+7-23.1-b40
marwan-hallaoui Jun 3, 2024
3ff43b9
svm: adopt "JDK-8312498 Thread::getState and JVM TI GetThreadState sh…
zapster Sep 26, 2023
59670c6
[GR-48899] Support TIMED_WAITING for virtual threads.
peter-hofer Oct 6, 2023
b19e7fd
svm: adopt "JDK-8321270: Virtual Thread.yield consumes parking permit…
zapster Dec 9, 2023
7f394a8
Fold JDK 22 check after JDK21-side backport.
fniephaus Jun 17, 2024
93726f5
Drop unused RUNNABLE alias.
fniephaus Jun 17, 2024
b94fe54
Make all aliases available in JDK 21.
fniephaus Jun 17, 2024
2a21631
[GR-47055] Port JDK-8309545: Thread.interrupted from virtual thread n…
peter-hofer Aug 18, 2023
c5aea64
disable libgraal builds running on OracleJDK 22 for GraalVM 23.1.x
marwan-hallaoui Jun 7, 2024
7b8789c
update labsjdk 21 to GAC builds 21.0.4+8
marwan-hallaoui Jun 24, 2024
0a776d8
[GR-54009] Update labsjdk to 23.1-b41
OracleLabsAutomation Jul 1, 2024
e8d6a00
release GraalVM 23.1.4
marwan-hallaoui Jul 4, 2024
883ade3
new dev cycle GraalVM 23.1.5
marwan-hallaoui Jul 5, 2024
7d66c47
TRegex: fix missing recursive back-reference guard on group escapes i…
djoooooe Jul 4, 2024
5736a74
TRegex: fix NPE in inner literal optimization when literal is unreach…
djoooooe Jul 5, 2024
fef8c4c
TRegex: OracleDBFlavor: treat nested quantifiers as syntax errors
djoooooe Jul 5, 2024
e127b25
TRegex: replace usages of generic Predicate with IntPredicate (workar…
djoooooe Jun 25, 2024
871436f
Add support for registering custom UnmanagedMemorySupport implementat…
christianhaeubl Jul 15, 2024
59aa440
[GR-55307] Add support for registering custom UnmanagedMemorySupport …
christianhaeubl Jul 15, 2024
4415071
Integrate jdk-21.0.5+3
aelmassa Jul 19, 2024
656eb5b
Backport fix: Avoid using Java 21 List.removeLast().
woess Jul 19, 2024
d6abffc
Fix common type handling for references and vectors
jirkamarsik Dec 17, 2023
03521cd
Initialize reference globals to WasmConstant.NULL, not Java null
jirkamarsik Dec 17, 2023
cfb67a6
Generalize _REF instructions to _OBJ (references and vectors)
jirkamarsik Dec 17, 2023
b8d2667
Support vectors in function arguments and return values
jirkamarsik Dec 17, 2023
5f3fd7b
Add missing v128 support to other parts of the code base
jirkamarsik Dec 17, 2023
b818478
Drop unneeded hack for missing v128 local initialization
jirkamarsik Dec 17, 2023
76cb9fd
Add support for storing and reading all primitives in Vector128
jirkamarsik Dec 17, 2023
da654df
Implement InteropLibrary for Vector128
jirkamarsik Dec 17, 2023
9e89328
Fix global initialization in spectest module
jirkamarsik Dec 17, 2023
2c95971
Add support for all f64x2 ops and for v128.load
jirkamarsik Dec 18, 2023
957f324
Fix storing of boolean values in vectors
jirkamarsik Dec 19, 2023
6401ef0
Drop custom enums in VectorOperators in favor of bytecodes
jirkamarsik Dec 19, 2023
d5a2d53
Cleanup leftover benchmark files
jirkamarsik Dec 19, 2023
61ac898
Remove obsolete GraalWasm opcodes
jirkamarsik Dec 19, 2023
ee8d6fb
Use data.addRange in BytecodeGen#add16
jirkamarsik Dec 19, 2023
93b57a3
Use ARRAY_BYTE_BASE_OFFSET when copying memory to byte[]
jirkamarsik Dec 21, 2023
dcdeba3
Make Vector128 class final and a ValueType
jirkamarsik Dec 21, 2023
e198e5d
Check bounds in ByteArrayWasmMemory#load_i128
jirkamarsik Jan 3, 2024
962b558
Hide SIMD support behind a flag
jirkamarsik Jan 3, 2024
1e96ad1
Use ExplodeLoop kind FULL_UNROLL in all vector ops
jirkamarsik Jan 5, 2024
7f9ac37
Move Vector128 ops to separate methods
jirkamarsik Jan 8, 2024
7d845cc
Enable wasm.SIMD option in SIMD benchmarks
jirkamarsik Jan 11, 2024
f4c442c
Fix type of teardown function in SIMD benchmarks
jirkamarsik Jan 12, 2024
a66ce10
Intrinsify v128_const with type byte[] -> Vector128
jirkamarsik Jan 12, 2024
fc83325
Make Vector128 contents compilation final
jirkamarsik Jan 12, 2024
2697ef0
Add support for i32x4 relational operators
jirkamarsik Feb 19, 2024
e34df08
Update wasm SIMD benchmarks
jirkamarsik Feb 20, 2024
ceba9e8
Use byte[]s in wasm SIMD intrinsics interface
jirkamarsik Feb 26, 2024
bb281c5
Add f32x4 support
jirkamarsik Feb 26, 2024
39acf1a
Add i32x4 support, re-order arguments to Vector128Ops
jirkamarsik Feb 27, 2024
6afe7bc
Add i64x2 support
jirkamarsik Feb 28, 2024
436470f
Avoid needless Vector128 allocations in Vector128Ops
jirkamarsik Feb 28, 2024
4295fe4
Move vector op handling to its own method
jirkamarsik Feb 28, 2024
0dfeae4
Add i16x8 support
jirkamarsik Feb 28, 2024
92d36bb
Add i8x16 support
jirkamarsik Mar 3, 2024
4df3aff
Implement bitwise operations
jirkamarsik Mar 3, 2024
34a0baf
Fix VECTOR_I8X16_SHR_U and VECTOR_I16X8_SHR_U
jirkamarsik Mar 3, 2024
96eb66e
Fix handling of v128.const instruction in constant expressions
jirkamarsik Mar 3, 2024
41dc782
Implement all SIMD conversions
jirkamarsik Mar 3, 2024
353255a
Implement splat
jirkamarsik Mar 3, 2024
355ec88
Implement SIMD lane operations
jirkamarsik Mar 4, 2024
d18f063
Implement v128.store
jirkamarsik Mar 4, 2024
42cc536
Implement v128.loadN_lane and v128.storeN_lane instructions
jirkamarsik Mar 5, 2024
2160fd4
Implement v128.loadN_zero
jirkamarsik Mar 5, 2024
edd6273
Implement v128.loadN_splat
jirkamarsik Mar 5, 2024
0dbc9a7
Implement v128.load_NxM ops
jirkamarsik Mar 5, 2024
d063788
Deduplicate code in vector loading instructions
jirkamarsik Mar 5, 2024
3b385df
Merge SIMD instruction handlers based on arity
jirkamarsik Mar 5, 2024
9afc79d
Fix bounds check in i32x4_trunc_sat_f64x2
jirkamarsik Mar 5, 2024
a8ff595
Fix failure type for const instructions in elem expressions
jirkamarsik Mar 5, 2024
abafdb0
Enable SIMD by default
jirkamarsik Mar 5, 2024
495525e
Move all vector handling to WasmFunctionNode#executeVector
jirkamarsik Mar 11, 2024
300e472
Make all vector opcode constants have uppercase identifiers
jirkamarsik Mar 11, 2024
c080b19
Update stack pointer using byte array instead of passing a record
jirkamarsik Mar 11, 2024
8a12934
Update copyright headers
jirkamarsik Mar 12, 2024
451bcb5
Move Vector128OpStackEffects out of WasmFunctionNode
jirkamarsik Mar 12, 2024
a80db11
Rename constructor and access methods in Vector128
jirkamarsik Mar 12, 2024
d463b24
Fix bounds-check in Vector128 interop messages
jirkamarsik Mar 12, 2024
35bcd10
Bring i8x16.shuffle lane error message in line with others
jirkamarsik Mar 12, 2024
b5dee1f
Avoid array allocations and extra copies in interpreter
jirkamarsik Mar 20, 2024
d902cf2
Make Vector128 behave as a Buffer instead of Array in interop
jirkamarsik Mar 27, 2024
a6024dc
Avoid overflow in bounds check
woess May 9, 2024
2061844
Use constants for Vector128 dimensions
jirkamarsik May 9, 2024
ebda5d6
Add wasm vector interpreter benchmark
jirkamarsik May 10, 2024
b2a84a4
Also use bounds constants from Vector128 in BinaryParser
jirkamarsik May 13, 2024
d953c47
Backport fix: Remove implementations of readBuffer message (not in 23…
woess Jun 27, 2024
5be7a9b
[GR-53938] Reimplement linking wasm module imports from JS.
woess Jun 14, 2024
1aaac6a
[GR-54706] Wasm modules compiled and instantiated via the JS API shou…
woess Jun 13, 2024
0d25900
[GR-54851] Check that function/block type index is in bounds.
woess Jun 21, 2024
3fa3af8
[GR-54851] Fix handling of trailing code after terminating `end` marker.
woess Jun 21, 2024
8f109f1
[GR-54505] Validate Wasm function arguments when called through Interop.
woess Jun 21, 2024
3e63f14
Check if importObject is null or undefined using InteropLibrary.
woess Jul 4, 2024
03f10db
Cleanup: Remove unused methods.
woess Jul 4, 2024
6c4d8e8
Convert ImportDescriptor into a record class.
woess Jul 4, 2024
bd1cbac
Change WasmMemory.grow(delta) to return the previous size or -1.
woess Jul 2, 2024
48f1a6a
Avoid locking for WasmMemory.size(), use volatile read instead.
woess Jul 2, 2024
279d209
Wrap resolved imports list in a closure.
woess Jul 5, 2024
51d2c3e
Correct error kind for missing import module component, should throw …
woess Jul 5, 2024
db5fbba
Update JVMCI to 23.1-b43 (Integrat 21.0.5+3)
OracleLabsAutomation Jul 22, 2024
ac91f64
[GR-55494] Integrate jdk-21.0.5+2
aelmassa Jul 22, 2024
d529432
svm: adopt "JDK-8325754: Dead AbstractQueuedSynchronizer$ConditionNod…
zapster Mar 1, 2024
033b14c
loop exit: all with exception nodes that are used as value nodes can be
davleopo Jun 28, 2024
21e5c18
[GR-55139] Backport to 23.1: Loop exit: all with exception nodes that…
elkorchi Jul 24, 2024
61c539f
Backport fix: Update wasm changelog.
woess Jul 24, 2024
bc031b3
[GR-55266] Backport to 23.1: Error message(s) appearing across contex…
moenn12 Jul 24, 2024
227aa79
[GR-54545] Backport 23.1: Timeout of gate-vm-ce-truffle-unchained-lab…
tzezula Jun 5, 2024
ed47ec3
[GR-54163] Truffle JFR usability problems.
tzezula May 20, 2024
9aa7c98
[GR-54163] Added stack traces to non-bailout compilation failures.
tzezula May 21, 2024
eee0b3b
[GR-54163] Fixed LTS compatibility problems.
tzezula May 22, 2024
094ccb1
[GR-54163] Fixed review comments.
tzezula May 23, 2024
7280aeb
Enhance truffle compilation logs.
jchalou Jun 11, 2024
46543d3
deploy snapshots
marwan-hallaoui Jul 25, 2024
5c2e757
[GR-56341] Make the truffle compilation log matching work both for lo…
jchalou Jul 25, 2024
b65fa0f
Make polyglot API not swallow thread interrupts.
jchalou Jul 16, 2024
c8390fc
[GR-54582] Various JNI-related bugfixes.
christianhaeubl May 24, 2024
95ad20a
[GR-54582] Renamed methods in JNIGraphKit to make it clearer that the…
christianhaeubl May 27, 2024
98eab2c
[GR-54582] Merged JNIFeature with JNIAutomaticFeature.
christianhaeubl May 27, 2024
b60b2b0
[GR-54582] Annotate methods in ImplicitExceptions with @Uninterruptible.
christianhaeubl May 29, 2024
abb502c
[GR-54582] Cleanups.
christianhaeubl Jun 3, 2024
ccc372b
[GR-55494] Update labsjdk to 23.1-b43 : Integrate jdk-21.0.5+3
OracleLabsAutomation Jul 26, 2024
08c5d7a
[GR-54582] Resolve conflicts.
christianhaeubl Jul 26, 2024
2eb36a1
[GR-56351] Fix option ImplicitExceptionWithoutStacktraceIsFatal.
christianhaeubl Jul 26, 2024
1bc0210
[GR-55114] Backport to 23.1: TRegex: OracleDBFlavor: missing recursiv…
djoooooe Jul 29, 2024
94ae565
Add support for detecting icx
pejovica Apr 25, 2024
419bbb2
Ensure LinkageError during loadClass.invoke is propagated to caller
May 22, 2024
a113e7a
Add stack trace of class initialization error to message
May 22, 2024
1ff8b78
Update JVMCI to 23.1-b44
OracleLabsAutomation Jul 29, 2024
9f48732
[GR-54961] Backport to 23.1: Support Intel oneAPI DPC++/C++ Compiler …
medoussboug Jul 31, 2024
4af91fe
[GR-54629] Backport to 23.1: I/O permissions are required even though…
OracleLabsAutomation Aug 2, 2024
569a816
TRegex: fix out-of-bounds read on broken UTF-16 strings
djoooooe Jul 30, 2024
9c1fa19
TRegex: cache RegexObject in interop invoke nodes to avoid field loads
djoooooe Jul 31, 2024
b7343e7
[GR-55494] Update labsjdk to 23.1-b44
OracleLabsAutomation Aug 2, 2024
524486c
[GR-55243] Prevent that large array allocations in VM-internal code t…
christianhaeubl Jul 10, 2024
da415d8
Enforce runtime module layer ordering
ivan-ristovic Jul 9, 2024
7770fa5
Fixed a crash in InheritedChannel.inetPeerAddress0().
christianhaeubl Jul 24, 2024
b5c783b
Fix conflict
elkorchi Aug 5, 2024
9fe2a88
[GR-56331] Backport to 23.1: Enhance truffle compilation logs.
jchalou Aug 7, 2024
5bb2455
[GR-56354] Backport to 23.1: Make polyglot API not swallow thread int…
jchalou Aug 7, 2024
86ef638
Trace Polyglot Source Cache
jchalou Jul 23, 2024
2c7033e
update JVMCI to 23.1-b45
OracleLabsAutomation Aug 8, 2024
21f40e3
[GR-56676] Backport to 23.1: JS interpreter can cause TRegex to fail …
djoooooe Aug 9, 2024
6619bcf
[GR-55494] Update labsjdk to 23.1-b45
OracleLabsAutomation Aug 9, 2024
edb5c6c
[GR-54982] Backport to 23.1: Fix WebAssembly caching.
woess Aug 9, 2024
38c0472
[GR-56358] Backport to 23.1: Trace Polyglot Source Cache
jchalou Aug 10, 2024
84ca69a
TruffleStrings: guard all native pointer accesses with a reachability…
djoooooe Jul 8, 2024
4c0ac35
[GR-56214] Backport to 23.1: Enforce runtime module layer ordering
OracleLabsAutomation Aug 15, 2024
8b5afbf
[GR-56806] Backport to 23.1: [GR-55245] Prevent that large array allo…
OracleLabsAutomation Aug 15, 2024
4fac1ba
[GR-55713] Backport to 23.1: Fixed a crash in InheritedChannel.inetPe…
OracleLabsAutomation Aug 16, 2024
99f952a
Check if modules contain packages before attempting to open/export
ivan-ristovic Jun 6, 2024
7b711b6
[GR-55186] Backport to 23.1: TruffleStrings: guard all native pointer…
moenn12 Aug 22, 2024
c231ad3
Fix deoptimization into an exception handler.
teshull Aug 14, 2024
dd9d993
[GR-57341] Backport 23.1: Fix deoptimization into an exception handler.
marwan-hallaoui Aug 22, 2024
59aee85
[GR-55006] Backport to 23.1: Check if modules contain packages before…
hamzaGhaissi Aug 23, 2024
34e5f03
Fix StrengthenGraphs for LoadFieldNode when analysis is context sensi…
Jun 10, 2024
c33c03a
[GR-54636] Backport to 23.1: Ensure NoClassDefFoundError during refle…
medoussboug Aug 27, 2024
1a7c8b7
[GR-54545] Backport 23.1: Timeout of gate-vm-ce-truffle-unchained-lab…
tzezula Aug 28, 2024
0ec2dd6
[GR-54582] [GR-56351] Backport to 23.1: Various JNI-related bugfixes.
christianhaeubl Aug 28, 2024
30ae1f0
Update JVMCI to 23.1-b46
OracleLabsAutomation Aug 29, 2024
4e7287c
[GR-55494] Update labsjdk to 23.1-b46
OracleLabsAutomation Aug 30, 2024
32f7bc7
[GR-57559] Backport to 23.1: Fix StrengthenGraphs for LoadFieldNode w…
moenn12 Aug 30, 2024
ae0bc06
[GR-56801] Backport to 23.1: Upgrading the underlying Node.js to vers…
iamstolis Aug 30, 2024
bd8874b
[GR-57651] Backport to 23.1: Reduce logging overhead in debug info ge…
fniephaus Aug 30, 2024
3fb5462
Eagerly initialize caches in ValueConversions
Aug 27, 2024
5417ea6
Fix Addr part alignment in Truffle compilation logs.
jchalou Aug 27, 2024
45f82f5
Fix conflict
elkorchi Sep 2, 2024
9efa216
Update JavaMonitor to jdk-24+11.
christianhaeubl Aug 22, 2024
2db30db
[GR-56816] Improve serial GC heap verification.
christianhaeubl Jul 16, 2024
ffef79c
[GR-56863] [GR-56859] Fix serial GC collection count and time so that…
christianhaeubl Jul 19, 2024
3987f04
[GR-56861] Split CommittedMemoryProvider.
christianhaeubl Jul 23, 2024
b07ee16
[GR-56816] Cleanups.
christianhaeubl Jul 30, 2024
ac6b61c
[GR-56816] Add option VerifyDuringGC.
christianhaeubl Jul 30, 2024
880ef27
[GR-56816] Resolve conflicts.
christianhaeubl Aug 1, 2024
5520ccf
[GR-56883] Add FeatureHandler.containsFeature().
christianhaeubl Aug 1, 2024
357cdb6
[GR-56816] [GR-56859] [GR-56863] [GR-56861] [GR-56855] [GR-56883] Bac…
christianhaeubl Sep 4, 2024
b31481a
[GR-57657] Backport to 23.1: Fix Addr part alignment in Truffle compi…
OracleLabsAutomation Sep 4, 2024
2b07e39
Backport to 23.1: Make inlining robust to non direct and indirect cal…
chumer May 26, 2024
2c8ac4e
[CONFLICTED][GR-57415] Backport to 23.1: Update JavaMonitor to jdk-24…
OracleLabsAutomation Sep 5, 2024
1202102
[GR-57860] Backport 23.1: Make inlining robust to non direct and indi…
chumer Sep 5, 2024
c7fa1ca
[GR-57743] Backport to 23.1: Eagerly initialize caches in ValueConver…
OracleLabsAutomation Sep 10, 2024
cc3f02d
Update JVMCI to 23.1-b47
OracleLabsAutomation Sep 11, 2024
d16da55
Reset Provider.Service.constructorCache field
Aug 16, 2024
1dca6aa
[GR-57704] Backport to 23.1: Reset Provider.Service.constructorCache …
OracleLabsAutomation Sep 12, 2024
59b9a80
improved VerifyFoldableMethods to recognize implementations of Plugin…
dougxc Aug 14, 2024
b178695
[GR-55494] Update labsjdk to 23.1-b47
OracleLabsAutomation Sep 12, 2024
4431412
[GR-57338] Backport to 23.1: improve detection of unused @Fold methods.
medoussboug Sep 13, 2024
0c89e49
[GR-53665] SubprocessTest improvements
gergo- Sep 18, 2024
d95b086
Replace configuration parser with master version
loicottet Aug 27, 2024
ad0aec4
Adapt configuration parser to 23.1
loicottet Aug 27, 2024
4c94b47
Backport GR-50432: Allow fields to be registered for reflection witho…
loicottet Nov 30, 2023
18085cd
[GR-56101] Backport reachability-metadata.json parser
loicottet Sep 25, 2024
77a0e08
Update JVMCI to 23.1-b48
OracleLabsAutomation Oct 1, 2024
d6cfe5e
[GR-55494] Update labsjdk to 23.1-b48
OracleLabsAutomation Oct 2, 2024
67b6384
release GraalVM 23.1.5
marwan-hallaoui Oct 4, 2024
1d52391
Merge upstream vm-23.1.5 tag
zakkak Jan 23, 2025
f3ba9f0
Update quarkus' workflow action versions
zakkak Jan 25, 2025
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
  •  
  •  
  •  
20 changes: 10 additions & 10 deletions .github/workflows/quarkus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ jobs:
matrix: ${{ steps.read.outputs.matrix }}
steps:
- name: Checkout oracle/graal
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Checkout graalvm/mx
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: graalvm/mx.git
fetch-depth: 1
ref: master
path: ${{ env.MX_PATH }}
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Get latest Quarkus release
Expand All @@ -58,13 +58,13 @@ jobs:
curl --output quarkus.tgz -sL https://api.github.com/repos/quarkusio/quarkus/tarball/$QUARKUS_VERSION
mkdir ${QUARKUS_PATH}
tar xf quarkus.tgz -C ${QUARKUS_PATH} --strip-components=1
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: ~/.mx
key: ${{ runner.os }}-mx-${{ hashFiles('**/suite.py') }}
Expand All @@ -89,7 +89,7 @@ jobs:
shell: bash
run: tar -czvf graalvm.tgz -C $(dirname ${GRAALVM_HOME}) $(basename ${GRAALVM_HOME})
- name: Persist GraalVM build
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: graalvm
path: graalvm.tgz
Expand All @@ -112,7 +112,7 @@ jobs:
shell: bash
run: tar -czvf maven-repo.tgz -C ~ .m2/repository
- name: Persist Maven Repo
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: maven-repo
path: maven-repo.tgz
Expand All @@ -130,7 +130,7 @@ jobs:
steps:
- name: Download GraalVM build
if: startsWith(matrix.os-name, 'ubuntu')
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: graalvm
path: .
Expand All @@ -151,7 +151,7 @@ jobs:
run: ${QUARKUS_PATH}/.github/ci-prerequisites.sh
- name: Download Maven Repo
if: startsWith(matrix.os-name, 'ubuntu')
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: maven-repo
path: .
Expand All @@ -178,7 +178,7 @@ jobs:
shell: bash
run: find . -type d -name '*-reports' -o -wholename '*/build/reports/tests/functionalTest' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-native-${{matrix.category}}
Expand Down
48 changes: 29 additions & 19 deletions ci/ci_common/bench-common.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@
else true
},

# max number of threads to use for benchmarking in general
# the goal being to limit parallelism on very large servers which may not be respresentative of real-world scenarios
bench_max_threads:: {
restrict_threads:: 36
},

bench_no_thread_cap:: {
restrict_threads:: null,
should_use_hwloc:: false
},

bench_hw:: {
_bench_machine:: {
targets+: ["bench"],
Expand All @@ -42,15 +53,16 @@
numa_nodes:: [],
is_numa:: std.length(self.numa_nodes) > 0,
num_threads:: error "num_threads must bet set!",
hyperthreading:: true,
threads_per_node:: if self.is_numa then self.num_threads / std.length(self.numa_nodes) else self.num_threads,
},

x52:: common.linux_amd64 + self._bench_machine + {
machine_name:: "x52",
capabilities+: ["no_frequency_scaling", "tmpfs25g"],
e3:: common.linux_amd64 + self._bench_machine + {
machine_name:: "e3",
capabilities: ["e3", "tmpfs25g", "linux", "amd64"],
numa_nodes:: [0, 1],
default_numa_node:: 0,
num_threads:: 72
default_numa_node:: 1,
num_threads:: 256
},
x82:: common.linux_amd64 + self._bench_machine + {
machine_name:: "x82",
Expand All @@ -62,31 +74,29 @@
xgene3:: common.linux_aarch64 + self._bench_machine + {
machine_name:: "xgene3",
capabilities+: [],
num_threads:: 32
num_threads:: 32,
hyperthreading:: false
},
a12c:: common.linux_aarch64 + self._bench_machine + {
machine_name:: "a12c",
capabilities+: ["no_frequency_scaling", "tmpfs25g"],
numa_nodes:: [0, 1],
default_numa_node:: 0,
num_threads:: 160
num_threads:: 160,
hyperthreading:: false
}
},

hwlocIfNuma(numa, cmd, node=0)::
if numa then
hwloc_cmd(cmd, num_threads, node, hyperthreading, max_threads_per_node)::
if num_threads == null then
["hwloc-bind", "--cpubind", "node:"+node, "--membind", "node:"+node, "--"] + cmd
else
cmd,

parallelHwloc(cmd_node0, cmd_node1)::
// Returns a list of commands that will run cmd_nod0 on NUMA node 0
// concurrently with cmd_node1 on NUMA node 1 and then wait for both to complete.
[
$.hwlocIfNuma(true, cmd_node0, node=0) + ["&"],
$.hwlocIfNuma(true, cmd_node1, node=1) + ["&"],
["wait"]
],
local threads = if num_threads != null then num_threads else max_threads_per_node;
assert if hyperthreading then threads % 2 == 0 else true: "It is required to bind to an even number of threads on hyperthreaded machines. Got requested "+threads+" threads";
assert threads <= max_threads_per_node: "Benchmarking must run on a single NUMA node for stability reasons. Got requested "+threads+" threads but the machine has only "+max_threads_per_node+" threads per node"; local cores = if hyperthreading then "0-"+((threads/2)-1)+".pu:0-1" else "0-"+(threads-1)+".pu:0";
local cpu_bind = if hyperthreading then "node:"+node+".core:"+cores else "node:"+node+".core:"+cores+".pu:0";
["hwloc-bind", "--cpubind", cpu_bind, "--membind", "node:"+node, "--"] + cmd
,

// building block used to generate fork builds
many_forks_benchmarking:: common.build_base + {
Expand Down
12 changes: 6 additions & 6 deletions common.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
"labsjdk-ee-17-llvm": {"name": "labsjdk", "version": "ee-17.0.8+2-jvmci-23.1-b02-sulong", "platformspecific": true },

"oraclejdk21": {"name": "jpg-jdk", "version": "21", "build_id": "33", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-21": {"name": "labsjdk", "version": "ce-21.0.2+13-jvmci-23.1-b30", "platformspecific": true },
"labsjdk-ce-21Debug": {"name": "labsjdk", "version": "ce-21.0.2+13-jvmci-23.1-b30-debug", "platformspecific": true },
"labsjdk-ce-21-llvm": {"name": "labsjdk", "version": "ce-21.0.2+13-jvmci-23.1-b30-sulong", "platformspecific": true },
"labsjdk-ee-21": {"name": "labsjdk", "version": "ee-21.0.3+7-jvmci-23.1-b37", "platformspecific": true },
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.3+7-jvmci-23.1-b37-debug", "platformspecific": true },
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.3+7-jvmci-23.1-b37-sulong", "platformspecific": true },
"labsjdk-ce-21": {"name": "labsjdk", "version": "ee-21.0.5+9-jvmci-23.1-b48", "platformspecific": true },
"labsjdk-ce-21Debug": {"name": "labsjdk", "version": "ee-21.0.5+9-jvmci-23.1-b48-debug", "platformspecific": true },
"labsjdk-ce-21-llvm": {"name": "labsjdk", "version": "ee-21.0.5+9-jvmci-23.1-b48-sulong", "platformspecific": true },
"labsjdk-ee-21": {"name": "labsjdk", "version": "ee-21.0.5+9-jvmci-23.1-b48", "platformspecific": true },
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.5+9-jvmci-23.1-b48-debug", "platformspecific": true },
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.5+9-jvmci-23.1-b48-sulong", "platformspecific": true },

"oraclejdk22": {"name": "jpg-jdk", "version": "22", "build_id": "2", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]}
},
Expand Down
50 changes: 25 additions & 25 deletions compiler/ci/ci_common/benchmark-builders.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,40 @@

local main_builds = std.flattenArrays([
[
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.dacapo + { unicorn_pull_request_benchmarking:: {name: 'libgraal', metrics: ['time']}},
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_size_variants,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_timing,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_size_variants,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_timing,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.renaissance + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.specjvm2008 + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.weekly + hw.x52 + jdk + cc.libgraal + bench.specjbb2015,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.specjbb2015_full_machine,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.renaissance_0_11,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.awfy + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.daily + hw.x52 + jdk + cc.libgraal + bench.microservice_benchmarks,
c.daily + hw.x52 + jdk + cc.libgraal + bench.renaissance_legacy,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_whitebox,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_dist,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_misc_graal_dist,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_shootout_graal_dist,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.dacapo + { unicorn_pull_request_benchmarking:: {name: 'libgraal', metrics: ['time']}},
c.weekly + hw.e3 + jdk + cc.libgraal + bench.dacapo_size_variants,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.dacapo_timing,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.scala_dacapo + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.weekly + hw.e3 + jdk + cc.libgraal + bench.scala_dacapo_size_variants,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.scala_dacapo_timing,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.renaissance + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.specjvm2008 + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.weekly + hw.e3 + jdk + cc.libgraal + bench.specjbb2015,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.specjbb2015_full_machine,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.renaissance_0_11,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.awfy + {unicorn_pull_request_benchmarking:: 'libgraal'},
c.daily + hw.e3 + jdk + cc.libgraal + bench.microservice_benchmarks,
c.daily + hw.e3 + jdk + cc.libgraal + bench.renaissance_legacy,
c.daily + hw.e3 + jdk + cc.libgraal + bench.micros_graal_whitebox,
c.daily + hw.e3 + jdk + cc.libgraal + bench.micros_graal_dist,
c.daily + hw.e3 + jdk + cc.libgraal + bench.micros_misc_graal_dist,
c.daily + hw.e3 + jdk + cc.libgraal + bench.micros_shootout_graal_dist,
]
for jdk in cc.bench_jdks
]),

local profiling_builds = std.flattenArrays([
[
c.weekly + hw.x52 + jdk + cc.libgraal + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
c.weekly + hw.x52 + jdk + cc.libgraal + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" }
c.monthly + hw.e3 + jdk + cc.libgraal + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
c.monthly + hw.e3 + jdk + cc.libgraal + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" }
]
for jdk in cc.bench_jdks
for suite in bench.groups.profiled_suites
]),

local weekly_amd64_forks_builds = std.flattenArrays([
bc.generate_fork_builds(c.weekly + hw.x52 + jdk + cc.libgraal + suite, subdir='compiler') +
bc.generate_fork_builds(c.monthly + hw.x52 + jdk + cc.jargraal + suite, subdir='compiler')
bc.generate_fork_builds(c.weekly + hw.e3 + jdk + cc.libgraal + suite, subdir='compiler') +
bc.generate_fork_builds(c.monthly + hw.e3 + jdk + cc.jargraal + suite, subdir='compiler')
for jdk in cc.bench_jdks
for suite in bench.groups.weekly_forks_suites
]),
Expand All @@ -63,7 +63,7 @@
],

local zgc_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.zgc_mode + suite,
c.weekly + hw.e3 + jdk + cc.libgraal + cc.zgc_mode + suite,
for jdk in cc.bench_jdks
for suite in bench.groups.main_suites + [bench.specjbb2015]
],
Expand All @@ -76,13 +76,13 @@
],

local no_tiered_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.no_tiered_comp + suite,
c.monthly + hw.e3 + jdk + cc.libgraal + cc.no_tiered_comp + suite,
for jdk in cc.bench_jdks
for suite in bench.groups.main_suites
],

local no_profile_info_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.no_profile_info + suite,
c.monthly + hw.e3 + jdk + cc.libgraal + cc.no_profile_info + suite,
for jdk in cc.bench_jdks
for suite in bench.groups.main_suites
],
Expand Down
Loading
Loading