com.oracle.truffle.api.instrumentation.TruffleInstrument Java Examples
The following examples show how to use
com.oracle.truffle.api.instrumentation.TruffleInstrument.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: FunctionRootEventHandler.java From nodeprof.js with Apache License 2.0 | 6 votes |
public Object getReceiver(VirtualFrame frame, TruffleInstrument.Env env) { // cache the frame slot for `this` if (!thisSlotInitialized) { CompilerDirectives.transferToInterpreterAndInvalidate(); thisSlot = JSFrameUtil.getThisSlot(frame.getFrameDescriptor()); thisSlotInitialized = true; } // if function has a <this> slot and its value is not undefined, we have a shortcut to // `this` if (thisSlot != null) { Object maybeThis = frame.getValue(thisSlot); if (maybeThis != null && maybeThis != Undefined.instance) { return maybeThis; } } // otherwise, retrieve the current scope to look up this return getReceiverFromScope(frame.materialize(), env); }
Example #2
Source File: FunctionRootEventHandler.java From nodeprof.js with Apache License 2.0 | 5 votes |
@TruffleBoundary private Object getReceiverFromScope(MaterializedFrame frame, TruffleInstrument.Env env) { Iterable<Scope> scopes = env.findLocalScopes(context.getInstrumentedNode(), frame); assert scopes.iterator().hasNext(); Object receiver = scopes.iterator().next().getReceiver(); assert receiver != null; return receiver; }
Example #3
Source File: HashemInstrumentTest.java From mr-hashemi with Universal Permissive License v1.0 | 4 votes |
@Override protected void onCreate(final TruffleInstrument.Env env) { env.registerService(new Environment(env)); }
Example #4
Source File: HashemInstrumentTest.java From mr-hashemi with Universal Permissive License v1.0 | 4 votes |
Environment(TruffleInstrument.Env env) { this.env = env; }
Example #5
Source File: EventLoggerTest.java From nodeprof.js with Apache License 2.0 | 4 votes |
@Override public TestableNodeProfAnalysis getAnalysis(Instrumenter instrumenter, TruffleInstrument.Env env) { this.analysis = new EventLogger(instrumenter, env); return this.analysis; }
Example #6
Source File: NonContiguousArrayTest.java From nodeprof.js with Apache License 2.0 | 4 votes |
@Override public TestableNodeProfAnalysis getAnalysis(Instrumenter instrumenter, TruffleInstrument.Env env) { return new NonContiguousArray(instrumenter, env); }
Example #7
Source File: TypedArrayTest.java From nodeprof.js with Apache License 2.0 | 4 votes |
@Override public TestableNodeProfAnalysis getAnalysis(Instrumenter instrumenter, TruffleInstrument.Env env) { return new TypedArray(instrumenter, env); }
Example #8
Source File: BCTest.java From nodeprof.js with Apache License 2.0 | 4 votes |
@Override public TestableNodeProfAnalysis getAnalysis(Instrumenter instrumenter, TruffleInstrument.Env env) { return new BranchCoverage(instrumenter, env); }
Example #9
Source File: TrivialTest.java From nodeprof.js with Apache License 2.0 | 4 votes |
@Override public TestableNodeProfAnalysis getAnalysis(Instrumenter instrumenter, TruffleInstrument.Env env) { return new TrivialAnalysis(instrumenter, env); }
Example #10
Source File: RootFactory.java From nodeprof.js with Apache License 2.0 | 4 votes |
public RootFactory(Object jalangiAnalysis, DynamicObject pre, DynamicObject post, TruffleInstrument.Env env) { super("function", jalangiAnalysis, pre, post); this.env = env; }
Example #11
Source File: BasicAnalysisTest.java From nodeprof.js with Apache License 2.0 | votes |
public abstract TestableNodeProfAnalysis getAnalysis(Instrumenter instrumenter, TruffleInstrument.Env env);