Skip to content

Commit 4ce9c20

Browse files
committed
Fixed gates.
1 parent 5b42886 commit 4ce9c20

File tree

5 files changed

+25
-30
lines changed

5 files changed

+25
-30
lines changed

sdk/src/org.graalvm.polyglot/src/org/graalvm/polyglot/Value.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* The Universal Permissive License (UPL), Version 1.0

sulong/tests/com.oracle.truffle.llvm.tests.interop/src/com/oracle/truffle/llvm/tests/interop/PolyglotBuiltinTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2024, Oracle and/or its affiliates.
2+
* Copyright (c) 2018, 2025, Oracle and/or its affiliates.
33
*
44
* All rights reserved.
55
*

truffle/src/com.oracle.truffle.host/src/com/oracle/truffle/host/HostObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3312,7 +3312,7 @@ Object getMetaSimpleName() throws UnsupportedMessageException {
33123312
}
33133313
}
33143314

3315-
@ExportMessage
3315+
@ExportMessage(limit = "LIMIT")
33163316
@TruffleBoundary
33173317
boolean isMetaInstance(Object other,
33183318
@Bind Node node,

truffle/src/com.oracle.truffle.nfi.backend.libffi/src/com/oracle/truffle/nfi/backend/libffi/SerializeArgumentNode.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -629,24 +629,19 @@ abstract static class SerializeArrayNode extends SerializeArgumentNode {
629629
}
630630
}
631631

632-
final boolean isHostObject(Object value, InteropLibrary interop) {
633-
return interop.hasHostObject(value);
634-
}
635-
636-
final Object asHostObject(Object value, InteropLibrary interop) {
632+
final Object asHostObject(Object value, InteropLibrary interop) throws UnsupportedTypeException {
637633
try {
638634
return interop.getHostObject(value);
639635
} catch (UnsupportedMessageException e) {
640636
throw CompilerDirectives.shouldNotReachHere(e);
641637
} catch (HeapIsolationException e) {
642-
CompilerDirectives.transferToInterpreterAndInvalidate();
643-
throw new UnsupportedOperationException(e);
638+
throw UnsupportedTypeException.create(new Object[]{value});
644639
}
645640
}
646641

647-
@Specialization(guards = {"isHostObject(value, interop)", "tag != null"})
642+
@Specialization(guards = {"interop.hasHostObject(value)", "tag != null"}, limit = "3")
648643
void doHostObject(@SuppressWarnings("unused") Object value, NativeArgumentBuffer buffer,
649-
@CachedLibrary(limit = "3") InteropLibrary interop,
644+
@CachedLibrary("value") InteropLibrary interop,
650645
@Bind("asHostObject(value, interop)") Object hostObject,
651646
@Bind("getTypeTag.execute(hostObject)") TypeTag tag) {
652647
buffer.putObject(tag, hostObject, type.size);

truffle/src/org.graalvm.truffle.benchmark/src/org/graalvm/truffle/benchmark/tstring/TStringBenchDummyLanguage.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@ abstract static class RawIterateBytesNode extends Node {
241241

242242
public abstract int execute(Object input);
243243

244-
@Specialization
245-
int bench(Object hostObject, @CachedLibrary(limit = "3") InteropLibrary interop) {
244+
@Specialization(limit = "3")
245+
int bench(Object hostObject, @CachedLibrary("hostObject") InteropLibrary interop) {
246246
byte[] input = (byte[]) getHostObject(hostObject, interop);
247247
int ret = 0;
248248
for (int i = 0; i < input.length; i++) {
@@ -328,10 +328,10 @@ abstract static class CalcStringAttributesUTF8Node extends Node {
328328

329329
abstract TruffleString execute(Object hostObject, int length);
330330

331-
@Specialization
331+
@Specialization(limit = "3")
332332
TruffleString bench(Object hostObject, int length,
333333
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
334-
@CachedLibrary(limit = "3") InteropLibrary interop) {
334+
@CachedLibrary("hostObject") InteropLibrary interop) {
335335
byte[] input = (byte[]) getHostObject(hostObject, interop);
336336
return fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_8, false);
337337
}
@@ -341,10 +341,10 @@ abstract static class CalcStringAttributesUTF16Node extends Node {
341341

342342
abstract TruffleString execute(Object hostObject, int length);
343343

344-
@Specialization
344+
@Specialization(limit = "3")
345345
TruffleString bench(Object hostObject, int length,
346346
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
347-
@CachedLibrary(limit = "3") InteropLibrary interop) {
347+
@CachedLibrary("hostObject") InteropLibrary interop) {
348348
byte[] input = (byte[]) getHostObject(hostObject, interop);
349349
return fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_16, false);
350350
}
@@ -354,10 +354,10 @@ abstract static class FromByteArrayUTF16Node extends Node {
354354

355355
abstract TruffleString execute(Object hostObject, int length);
356356

357-
@Specialization
357+
@Specialization(limit = "3")
358358
TruffleString bench(Object hostObject, int length,
359359
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
360-
@CachedLibrary(limit = "3") InteropLibrary interop) {
360+
@CachedLibrary("hostObject") InteropLibrary interop) {
361361
byte[] input = (byte[]) getHostObject(hostObject, interop);
362362
return fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_16, true);
363363
}
@@ -367,10 +367,10 @@ abstract static class FromByteArrayUTF32Node extends Node {
367367

368368
abstract TruffleString execute(Object hostObject, int length);
369369

370-
@Specialization
370+
@Specialization(limit = "3")
371371
TruffleString bench(Object hostObject, int length,
372372
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
373-
@CachedLibrary(limit = "3") InteropLibrary interop) {
373+
@CachedLibrary("hostObject") InteropLibrary interop) {
374374
byte[] input = (byte[]) getHostObject(hostObject, interop);
375375
return fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_32, true);
376376
}
@@ -380,10 +380,10 @@ abstract static class FromByteArrayUTF16FENode extends Node {
380380

381381
abstract TruffleString execute(Object hostObject, int length);
382382

383-
@Specialization
383+
@Specialization(limit = "3")
384384
TruffleString bench(Object hostObject, int length,
385385
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
386-
@CachedLibrary(limit = "3") InteropLibrary interop) {
386+
@CachedLibrary("hostObject") InteropLibrary interop) {
387387
byte[] input = (byte[]) getHostObject(hostObject, interop);
388388
return fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_16BE, false);
389389
}
@@ -393,11 +393,11 @@ abstract static class FromByteArrayUTF16FESwitchNode extends Node {
393393

394394
abstract TruffleString execute(Object hostObject, int length);
395395

396-
@Specialization
396+
@Specialization(limit = "3")
397397
TruffleString bench(Object hostObject, int length,
398398
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
399399
@Cached TruffleString.SwitchEncodingNode switchEncodingNode,
400-
@CachedLibrary(limit = "3") InteropLibrary interop) {
400+
@CachedLibrary("hostObject") InteropLibrary interop) {
401401
byte[] input = (byte[]) getHostObject(hostObject, interop);
402402
return switchEncodingNode.execute(fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_16BE, false), TruffleString.Encoding.UTF_16);
403403
}
@@ -407,10 +407,10 @@ abstract static class FromByteArrayUTF32FENode extends Node {
407407

408408
abstract TruffleString execute(Object hostObject, int length);
409409

410-
@Specialization
410+
@Specialization(limit = "3")
411411
TruffleString bench(Object hostObject, int length,
412412
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
413-
@CachedLibrary(limit = "3") InteropLibrary interop) {
413+
@CachedLibrary("hostObject") InteropLibrary interop) {
414414
byte[] input = (byte[]) getHostObject(hostObject, interop);
415415
return fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_32BE, false);
416416
}
@@ -420,11 +420,11 @@ abstract static class FromByteArrayUTF32FESwitchNode extends Node {
420420

421421
abstract TruffleString execute(Object hostObject, int length);
422422

423-
@Specialization
423+
@Specialization(limit = "3")
424424
TruffleString bench(Object hostObject, int length,
425425
@Cached TruffleString.FromByteArrayNode fromByteArrayNode,
426426
@Cached TruffleString.SwitchEncodingNode switchEncodingNode,
427-
@CachedLibrary(limit = "3") InteropLibrary interop) {
427+
@CachedLibrary("hostObject") InteropLibrary interop) {
428428
byte[] input = (byte[]) getHostObject(hostObject, interop);
429429
return switchEncodingNode.execute(fromByteArrayNode.execute(input, 0, length, TruffleString.Encoding.UTF_32BE, false), TruffleString.Encoding.UTF_32);
430430
}

0 commit comments

Comments
 (0)