Skip to content

Commit

Permalink
[GR-54472] Resolve merge conflits.
Browse files Browse the repository at this point in the history
PullRequest: graal/17901
  • Loading branch information
gilles-duboscq committed Jun 3, 2024
2 parents 8b40a6a + 4d34880 commit 414d874
Show file tree
Hide file tree
Showing 13 changed files with 451 additions and 168 deletions.
7 changes: 7 additions & 0 deletions espresso/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Espresso Changelog

## Version 24.1.0
* Added `java.RuntimeResourceId` to allow customizing the truffle resource used to locate the java standard library used by espresso.
The resource called "espresso-runtime-<RuntimeResourceId>" will be used. By default, "jdk21" then "openjdk21" are attempted.
* Espresso can now use TRegex to execute java.util.regex patterns. TRegex offers better performance than the standard implementation. Use `java.UseTRegex` to enable this engine.
* The interop `readBuffer` method can now be used from the guest Interop API and guest ByteBuffer objects implement this interop message.
* Many issues with espresso's JDWP implementation were fixed, improving the user experience when debugging with a Java IDE.

## Version 24.0.0
### User-visible changes
* Added support for transparently converting common JDK exception types that flow from host to an embedded Espresso context.
Expand Down
2 changes: 1 addition & 1 deletion espresso/ci/ci_common/common.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ local benchmark_suites = ['dacapo', 'renaissance', 'scala-dacapo'];
dailyBench: {targets+: ['bench', 'daily'], notify_groups:: ['espresso']},
daily: {targets+: ['daily'], notify_groups:: ['espresso']},
weekly: {targets+: ['weekly'], notify_groups:: ['espresso']},
monthly: {targets+: ['monthly'], notify_groups:: ['espresso']},
monthly: {targets+: ['monthly'], notify_groups:: ['espresso']},
weeklyBench: {targets+: ['bench', 'weekly'], notify_groups:: ['espresso']},
onDemand: {targets+: ['on-demand']},
onDemandBench: {targets+: ['bench', 'on-demand']},
Expand Down
53 changes: 53 additions & 0 deletions espresso/mx.espresso/espresso_runtime_resource.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package <package>;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.InternalResource;

import java.io.IOException;
import java.nio.file.Path;

@InternalResource.Id(value = "<resourceId>", componentId = "java", optional = true)
public final class EspressoRuntimeResource implements InternalResource {

private static Path basePath(Env env) {
return Path.of("META-INF", "resources", "java", "<resourceId>", env.getOS().toString(), env.getCPUArchitecture().toString());
}

@Override
public void unpackFiles(Env env, Path targetDirectory) throws IOException {
Path base = basePath(env);
env.unpackResourceFiles(base.resolve("files"), targetDirectory, base);
}

@Override
public String versionHash(Env env) {
try {
Path hashResource = basePath(env).resolve("sha256");
return env.readResourceLines(hashResource).get(0);
} catch (IOException ioe) {
throw CompilerDirectives.shouldNotReachHere(ioe);
}
}
}
Loading

0 comments on commit 414d874

Please sign in to comment.