Class JSAgent

java.lang.Object
com.oracle.truffle.js.runtime.JSAgent
Direct Known Subclasses:
DebugJSAgent, MainJSAgent

public abstract class JSAgent extends Object
Base class for ECMA2017 8.7 Agents.
  • Constructor Details

    • JSAgent

      public JSAgent(boolean canBlock)
  • Method Details

    • wake

      public abstract void wake()
    • getSignifier

      public int getSignifier()
    • canBlock

      public boolean canBlock()
    • hostMakeJobCallback

      public final JobCallback hostMakeJobCallback(Object callback)
    • enqueuePromiseJob

      public final void enqueuePromiseJob(JSFunctionObject job)
    • enqueueWaitAsyncPromiseJob

      public void enqueueWaitAsyncPromiseJob(JSAgentWaiterList.WaiterRecord waiter)
    • processAllPromises

      public final void processAllPromises(boolean processWeakRefs)
    • interopBoundaryEnter

      public final void interopBoundaryEnter()
    • interopBoundaryExit

      public final boolean interopBoundaryExit()
    • addWeakRefTargetToSet

      public boolean addWeakRefTargetToSet(Object target)
    • registerFinalizationRegistry

      public void registerFinalizationRegistry(JSFinalizationRegistryObject finalizationRegistry)
    • getAsyncWaitersToBeResolved

      public int getAsyncWaitersToBeResolved(JSAgentWaiterList.JSAgentWaiterListEntry wl)
    • setCanBlock

      public void setCanBlock(boolean canBlock)
    • terminate

      public abstract void terminate()
      Terminate the agent.
    • get

      public static JSAgent get(com.oracle.truffle.api.nodes.Node node)
    • hasPromiseRejectionTracker

      protected final boolean hasPromiseRejectionTracker()
    • setPromiseRejectionTracker

      protected final void setPromiseRejectionTracker(PromiseRejectionTracker tracker)
    • notifyPromiseRejectionTracker

      protected final void notifyPromiseRejectionTracker(JSPromiseObject promise, int operation, Object value)
    • getAsyncContextMapping

      public AsyncContext getAsyncContextMapping()
    • asyncContextSwap

      public AsyncContext asyncContextSwap(AsyncContext snapshot)