private void initialize() { synchronized (this) { if (!this.initialized) { getRuntime().getTvmci().onFirstExecution(this); this.initialized = true; } } } }
private void initialize() { synchronized (this) { if (!this.initialized) { ((DefaultTruffleRuntime) Truffle.getRuntime()).getTvmci().onFirstExecution(this); this.initialized = true; } } } }
@SuppressWarnings("deprecation") @Override public RootCallTarget createCallTarget(RootNode rootNode) { DefaultCallTarget target = new DefaultCallTarget(rootNode); rootNode.setCallTarget(target); getTvmci().onLoad(target); return target; }
@SuppressWarnings("deprecation") @Override public RootCallTarget createCallTarget(RootNode rootNode) { DefaultCallTarget target = new DefaultCallTarget(rootNode); rootNode.setCallTarget(target); getTvmci().onLoad(target); return target; }
Object callDirectOrIndirect(final Node callNode, Object... args) { if (!this.initialized) { initialize(); } final DefaultVirtualFrame frame = new DefaultVirtualFrame(getRootNode().getFrameDescriptor(), args); getRuntime().pushFrame(frame, this, callNode); try { return getRootNode().execute(frame); } catch (Throwable t) { getRuntime().getTvmci().onThrowable(callNode, this, t, frame); throw t; } finally { getRuntime().popFrame(); } }
Object callDirectOrIndirect(final Node callNode, Object... args) { if (!this.initialized) { initialize(); } final DefaultVirtualFrame frame = new DefaultVirtualFrame(getRootNode().getFrameDescriptor(), args); getRuntime().pushFrame(frame, this, callNode); try { return getRootNode().execute(frame); } catch (Throwable t) { getRuntime().getTvmci().onThrowable(callNode, this, t, frame); throw t; } finally { getRuntime().popFrame(); } }
@Override public Object call(Object... args) { if (!this.initialized) { initialize(); } final DefaultVirtualFrame frame = new DefaultVirtualFrame(getRootNode().getFrameDescriptor(), args); getRuntime().pushFrame(frame, this); try { return getRootNode().execute(frame); } catch (Throwable t) { getRuntime().getTvmci().onThrowable(null, this, t, frame); throw t; } finally { getRuntime().popFrame(); } }
@Override public Object call(Object... args) { if (!this.initialized) { initialize(); } final DefaultVirtualFrame frame = new DefaultVirtualFrame(getRootNode().getFrameDescriptor(), args); getRuntime().pushFrame(frame, this); try { return getRootNode().execute(frame); } catch (Throwable t) { getRuntime().getTvmci().onThrowable(null, this, t, frame); throw t; } finally { getRuntime().popFrame(); } }