Class ForeignExceptionAccess
java.lang.Object
com.oracle.truffle.api.nodes.Node
thc.runtime.ForeignExceptionAccess
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Cold exception translation. Normal foreign calls allocate no bridge object.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleaneligible(com.oracle.truffle.api.exception.AbstractTruffleException error) Classification uses only Truffle's exception protocol.escaping(GuestException failure) Only a compatible public exit asks the real Haskell dictionary whether a lazy SomeException contains our type.raise(com.oracle.truffle.api.exception.AbstractTruffleException error) Called after carrier permission and pointer borrows have been restored, before an opaque Throwable could pass through Force's failure memoization.raise(com.oracle.truffle.api.exception.AbstractTruffleException error, ForeignExceptionBridge bridge) raiseHost(Exception error, ForeignExceptionBridge bridge) raiseHost(RuntimeException error) Native checked failures use the same host identity and genuine bridge as ordinary Java operations; no language-specific exception wrapper.longtext(ManagedAddress handle, long selector, long index, Object state) longtext(ManagedAddress handle, long selector, long index, Object state, ForeignExceptionBridge bridge) Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplace, toString
-
Constructor Details
-
ForeignExceptionAccess
public ForeignExceptionAccess()
-
-
Method Details
-
eligible
Classification uses only Truffle's exception protocol. It must not call user display/message/cause/stack accessors or recursively translate failure. -
raise
Called after carrier permission and pointer borrows have been restored, before an opaque Throwable could pass through Force's failure memoization. -
raise
public RuntimeException raise(com.oracle.truffle.api.exception.AbstractTruffleException error, ForeignExceptionBridge bridge) -
raiseHost
Native checked failures use the same host identity and genuine bridge as ordinary Java operations; no language-specific exception wrapper. -
raiseHost
-
raiseHost
-
escaping
Only a compatible public exit asks the real Haskell dictionary whether a lazy SomeException contains our type. Projection failure remains guest failure. -
text
-
text
public long text(ManagedAddress handle, long selector, long index, Object state, ForeignExceptionBridge bridge)
-