/** * Creates an exception thrown to enter a slow path. * * @since 0.8 or earlier */ public SlowPathException(String message) { super(message); CompilerDirectives.transferToInterpreterAndInvalidate(); }
/** * Creates an exception thrown to enter a slow path. * * @since 0.8 or earlier */ public SlowPathException(Throwable cause) { super(cause); CompilerDirectives.transferToInterpreterAndInvalidate(); }
@Override public void enter() { if (!visited) { CompilerDirectives.transferToInterpreterAndInvalidate(); visited = true; } }
Object getPolyglotGuestBindings() { Object bindings = this.polyglotGuestBindings; if (bindings == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); initializeLanguageBindings(); bindings = polyglotGuestBindings; assert bindings != null; } return bindings; }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(EmptyGlobalBindings) */ && arg0Value instanceof EmptyGlobalBindings) { EmptyGlobalBindings arg0Value_ = (EmptyGlobalBindings) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(EmptyGlobalBindings) */ && arg0Value instanceof EmptyGlobalBindings) { EmptyGlobalBindings arg0Value_ = (EmptyGlobalBindings) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
private LookupFieldNode lookupField() { if (lookupField == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); lookupField = insert(LookupFieldNode.create()); } return lookupField; }
private LookupConstructorNode lookupConstructor() { if (lookupConstructor == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); lookupConstructor = insert(LookupConstructorNode.create()); } return lookupConstructor; }
private KeyInfoCacheNode keyInfoCache() { if (keyInfoCache == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); keyInfoCache = insert(KeyInfoCacheNode.create()); } return keyInfoCache; } }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(VariableNamesObject) */ && arg0Value instanceof VariableNamesObject) { VariableNamesObject arg0Value_ = (VariableNamesObject) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(JavaObject) */ && arg0Value instanceof JavaObject) { JavaObject arg0Value_ = (JavaObject) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(JavaObject) */ && arg0Value instanceof JavaObject) { JavaObject arg0Value_ = (JavaObject) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(JavaObject) */ && arg0Value instanceof JavaObject) { JavaObject arg0Value_ = (JavaObject) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(TopScopeObject) */ && arg0Value instanceof TopScopeObject) { TopScopeObject arg0Value_ = (TopScopeObject) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
private HostExecuteNode executeMethod() { if (executeMethod == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); executeMethod = insert(HostExecuteNode.create()); } return executeMethod; }
@Override public Object executeWithTarget(VirtualFrame frameValue, Object arg0Value) { int state = state_; if (state != 0 /* is-active accessWithTarget(EmptyGlobalBindings) */ && arg0Value instanceof EmptyGlobalBindings) { EmptyGlobalBindings arg0Value_ = (EmptyGlobalBindings) arg0Value; return accessWithTarget(arg0Value_); } CompilerDirectives.transferToInterpreterAndInvalidate(); return executeAndSpecialize(arg0Value); }
public Object access(JavaFunctionObject function, Object[] args) { if (doExecute == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); doExecute = insert(ExecuteMethodNode.create()); } return doExecute.execute(function.method, function.obj, args, function.languageContext); }
private JavaMethodDesc lookupFunctionalInterfaceMethod(JavaObject receiver) { if (lookupMethod == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); lookupMethod = insert(LookupFunctionalMethodNode.create()); } return lookupMethod.execute(receiver.getLookupClass()); } }
private JavaMethodDesc lookupFunctionalInterfaceMethod(JavaObject receiver) { if (lookupMethod == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); lookupMethod = insert(LookupFunctionalMethodNode.create()); } return lookupMethod.execute(receiver.getLookupClass()); } }
@Override protected Object executeImpl(PolyglotLanguageContext languageContext, TruffleObject receiver, Object[] args) { if (proxyInvoke == null || toGuests == null) { CompilerDirectives.transferToInterpreterAndInvalidate(); toGuests = ToGuestValuesNode.create(); proxyInvoke = ProxyInvokeNodeGen.create(); } Method method = (Method) args[ARGUMENT_OFFSET]; Object[] arguments = toGuests.apply(languageContext, (Object[]) args[ARGUMENT_OFFSET + 1]); return proxyInvoke.execute(languageContext, receiver, method, arguments); }