Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
This changelog summarizes major changes between GraalVM SDK versions. The main focus is on APIs exported by GraalVM SDK.

## Version 22.0.0
* (GR-31170) Native Image API: Added `WINDOWS_AARCH64` Platform.
* (GR-33657) Native Image API: Added `CEntryPoint#include` attribute which can be used to controll if the entry point should be automatically added to the shared library.
* (GR-22699)(EE-only) Added the ability to spawn a native-image isolate for a each `Engine` or `Context` by calling `Context.Builder.option("engine.SpawnIsolate", "true")`. This enables heap isolation between the host and guest applications. Using isolates improves security, startup and warmup time of polyglot languages. In this mode, calls between host and guest are more costly as they need to cross a native boundary. It is recommended to use the `HostAccess.SCOPED` policy with this mode to avoid strong cyclic references between host and guest. This mode is experimental in this release and only supported for a limited set of languages.

Expand Down
8 changes: 8 additions & 0 deletions sdk/src/org.graalvm.nativeimage/snapshot.sigtest
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ innr public final static IOS_AARCH64
innr public final static IOS_AMD64
innr public final static LINUX_AARCH64
innr public final static WINDOWS_AMD64
innr public final static WINDOWS_AARCH64
innr public static LINUX_AMD64
meth public java.lang.String getArchitecture()
meth public java.lang.String getOS()
Expand Down Expand Up @@ -327,6 +328,13 @@ intf org.graalvm.nativeimage.Platform$AMD64
intf org.graalvm.nativeimage.Platform$WINDOWS
supr java.lang.Object

CLSS public final static org.graalvm.nativeimage.Platform$WINDOWS_AARCH64
outer org.graalvm.nativeimage.Platform
cons public init()
intf org.graalvm.nativeimage.Platform$AARCH64
intf org.graalvm.nativeimage.Platform$WINDOWS
supr java.lang.Object

CLSS public abstract interface !annotation org.graalvm.nativeimage.Platforms
anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME)
anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[TYPE, METHOD, CONSTRUCTOR, FIELD, PACKAGE])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ org.graalvm.nativeimage.Platform$DARWIN_AARCH64
org.graalvm.nativeimage.Platform$IOS_AMD64
org.graalvm.nativeimage.Platform$IOS_AARCH64
org.graalvm.nativeimage.Platform$WINDOWS_AMD64
org.graalvm.nativeimage.Platform$WINDOWS_AARCH64
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,23 @@ public WINDOWS_AMD64() {

}

/**
* Supported leaf platform: Windows on AArch 64-bit.
*
* @since 22.0
*/
final class WINDOWS_AARCH64 implements WINDOWS, AARCH64 {

/**
* Instantiates a marker instance of this platform.
*
* @since 22.0
*/
public WINDOWS_AARCH64() {
}

}

/**
* Marker for elements (types, methods, or fields) that are only visible during native image
* generation and cannot be used at run time, regardless of the actual platform.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,9 @@ public enum RelocationKind {
PC_RELATIVE_2,
PC_RELATIVE_4,
PC_RELATIVE_8,
/**
* AArch64-specific relocation types.
*/
AARCH64_R_MOVW_UABS_G0,
AARCH64_R_MOVW_UABS_G0_NC,
AARCH64_R_MOVW_UABS_G1,
Expand Down Expand Up @@ -345,6 +348,14 @@ public static int getRelocationSize(RelocationKind kind) {
case PC_RELATIVE_4:
case SECREL_4:
return 4;
case AARCH64_R_AARCH64_ADR_PREL_PG_HI21:
case AARCH64_R_AARCH64_LDST64_ABS_LO12_NC:
case AARCH64_R_AARCH64_LDST32_ABS_LO12_NC:
case AARCH64_R_AARCH64_LDST16_ABS_LO12_NC:
case AARCH64_R_AARCH64_LDST8_ABS_LO12_NC:
case AARCH64_R_AARCH64_ADD_ABS_LO12_NC:
// AArch64 instructions are 4 bytes
return 4;
case DIRECT_8:
case PC_RELATIVE_8:
return 8;
Expand Down
Loading