- objectFieldOffset 15
- getObjectVolatile 11
- putOrderedObject 3
- compareAndSwapObject 9
- putObjectVolatile 2
- compareAndSwapInt 2
- compareAndSwapLong 2
- getIntVolatile 2
- getLongVolatile 2
- putIntVolatile 1
Last active
August 29, 2015 14:05
-
-
Save xuwei-k/828be054f293239147a4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java/akka/actor/AbstractActorRef.java: cellOffset = Unsafe.instance.objectFieldOffset(RepointableActorRef.class.getDeclaredField("_cellDoNotCallMeDirectly")); | |
java/akka/actor/AbstractActorRef.java: lookupOffset = Unsafe.instance.objectFieldOffset(RepointableActorRef.class.getDeclaredField("_lookupDoNotCallMeDirectly")); | |
java/akka/actor/dungeon/AbstractActorCell.java: mailboxOffset = Unsafe.instance.objectFieldOffset(ActorCell.class.getDeclaredField("akka$actor$dungeon$Dispatch$$_mailboxDoNotCallMeDirectly")); | |
java/akka/actor/dungeon/AbstractActorCell.java: childrenOffset = Unsafe.instance.objectFieldOffset(ActorCell.class.getDeclaredField("akka$actor$dungeon$Children$$_childrenRefsDoNotCallMeDirectly")); | |
java/akka/actor/dungeon/AbstractActorCell.java: nextNameOffset = Unsafe.instance.objectFieldOffset(ActorCell.class.getDeclaredField("akka$actor$dungeon$Children$$_nextNameDoNotCallMeDirectly")); | |
java/akka/dispatch/AbstractMailbox.java: mailboxStatusOffset = Unsafe.instance.objectFieldOffset(Mailbox.class.getDeclaredField("_statusDoNotCallMeDirectly")); | |
java/akka/dispatch/AbstractMailbox.java: systemMessageOffset = Unsafe.instance.objectFieldOffset(Mailbox.class.getDeclaredField("_systemQueueDoNotCallMeDirectly")); | |
java/akka/dispatch/AbstractMessageDispatcher.java: shutdownScheduleOffset = Unsafe.instance.objectFieldOffset(MessageDispatcher.class.getDeclaredField("_shutdownScheduleDoNotCallMeDirectly")); | |
java/akka/dispatch/AbstractMessageDispatcher.java: inhabitantsOffset = Unsafe.instance.objectFieldOffset(MessageDispatcher.class.getDeclaredField("_inhabitantsDoNotCallMeDirectly")); | |
java/akka/dispatch/AbstractNodeQueue.java: final Node<T> tail = ((Node<T>)Unsafe.instance.getObjectVolatile(this, tailOffset)); | |
java/akka/dispatch/AbstractNodeQueue.java: Unsafe.instance.putOrderedObject(this, tailOffset, next); | |
java/akka/dispatch/AbstractNodeQueue.java: tail = ((Node<T>)Unsafe.instance.getObjectVolatile(this, tailOffset)); | |
java/akka/dispatch/AbstractNodeQueue.java: Unsafe.instance.putOrderedObject(this, tailOffset, next); | |
java/akka/dispatch/AbstractNodeQueue.java: tailOffset = Unsafe.instance.objectFieldOffset(AbstractNodeQueue.class.getDeclaredField("_tailDoNotCallMeDirectly")); | |
java/akka/dispatch/AbstractNodeQueue.java: return (Node<T>)Unsafe.instance.getObjectVolatile(this, nextOffset); | |
java/akka/dispatch/AbstractNodeQueue.java: Unsafe.instance.putOrderedObject(this, nextOffset, newNext); | |
java/akka/dispatch/AbstractNodeQueue.java: nextOffset = Unsafe.instance.objectFieldOffset(Node.class.getDeclaredField("_nextDoNotCallMeDirectly")); | |
java/akka/pattern/AbstractCircuitBreaker.java: stateOffset = Unsafe.instance.objectFieldOffset(CircuitBreaker.class.getDeclaredField("_currentStateDoNotCallMeDirectly")); | |
java/akka/pattern/AbstractPromiseActorRef.java: stateOffset = Unsafe.instance.objectFieldOffset(PromiseActorRef.class.getDeclaredField("_stateDoNotCallMeDirectly")); | |
java/akka/pattern/AbstractPromiseActorRef.java: watchedByOffset = Unsafe.instance.objectFieldOffset(PromiseActorRef.class.getDeclaredField("_watchedByDoNotCallMeDirectly")); | |
scala/akka/actor/RepointableActorRef.scala: def underlying: Cell = Unsafe.instance.getObjectVolatile(this, cellOffset).asInstanceOf[Cell] | |
scala/akka/actor/RepointableActorRef.scala: def lookup = Unsafe.instance.getObjectVolatile(this, lookupOffset).asInstanceOf[Cell] | |
scala/akka/actor/RepointableActorRef.scala: if (Unsafe.instance.compareAndSwapObject(this, cellOffset, old, next)) old else swapCell(next) | |
scala/akka/actor/RepointableActorRef.scala: if (Unsafe.instance.compareAndSwapObject(this, lookupOffset, old, next)) old else swapLookup(next) | |
scala/akka/actor/Scheduler.scala: private[this] val taskOffset = unsafe.objectFieldOffset(classOf[TaskHolder].getDeclaredField("task")) | |
scala/akka/actor/Scheduler.scala: case x ⇒ if (unsafe.compareAndSwapObject(this, taskOffset, x, replaceWith)) x else extractTask(replaceWith) | |
scala/akka/actor/dungeon/Children.scala: Unsafe.instance.getObjectVolatile(this, AbstractActorCell.childrenOffset).asInstanceOf[ChildrenContainer] | |
scala/akka/actor/dungeon/Children.scala: val current = Unsafe.instance.getLongVolatile(this, AbstractActorCell.nextNameOffset) | |
scala/akka/actor/dungeon/Children.scala: if (Unsafe.instance.compareAndSwapLong(this, AbstractActorCell.nextNameOffset, current, current + 1)) current | |
scala/akka/actor/dungeon/Children.scala: Unsafe.instance.compareAndSwapObject(this, AbstractActorCell.childrenOffset, oldChildren, newChildren) | |
scala/akka/actor/dungeon/Children.scala: final protected def setTerminated(): Unit = Unsafe.instance.putObjectVolatile(this, AbstractActorCell.childrenOffset, TerminatedChildrenContainer) | |
scala/akka/actor/dungeon/Dispatch.scala: @inline final def mailbox: Mailbox = Unsafe.instance.getObjectVolatile(this, AbstractActorCell.mailboxOffset).asInstanceOf[Mailbox] | |
scala/akka/actor/dungeon/Dispatch.scala: if (!Unsafe.instance.compareAndSwapObject(this, AbstractActorCell.mailboxOffset, oldMailbox, newMailbox)) swapMailbox(newMailbox) | |
scala/akka/dispatch/AbstractDispatcher.scala: if (Unsafe.instance.compareAndSwapLong(this, inhabitantsOffset, c, r)) r else addInhabitants(add) | |
scala/akka/dispatch/AbstractDispatcher.scala: final def inhabitants: Long = Unsafe.instance.getLongVolatile(this, inhabitantsOffset) | |
scala/akka/dispatch/AbstractDispatcher.scala: private final def shutdownSchedule: Int = Unsafe.instance.getIntVolatile(this, shutdownScheduleOffset) | |
scala/akka/dispatch/AbstractDispatcher.scala: private final def updateShutdownSchedule(expect: Int, update: Int): Boolean = Unsafe.instance.compareAndSwapInt(this, shutdownScheduleOffset, expect, update) | |
scala/akka/dispatch/Mailbox.scala: final def status: Mailbox.Status = Unsafe.instance.getIntVolatile(this, AbstractMailbox.mailboxStatusOffset) | |
scala/akka/dispatch/Mailbox.scala: Unsafe.instance.compareAndSwapInt(this, AbstractMailbox.mailboxStatusOffset, oldStatus, newStatus) | |
scala/akka/dispatch/Mailbox.scala: Unsafe.instance.putIntVolatile(this, AbstractMailbox.mailboxStatusOffset, newStatus) | |
scala/akka/dispatch/Mailbox.scala: new LatestFirstSystemMessageList(Unsafe.instance.getObjectVolatile(this, AbstractMailbox.systemMessageOffset).asInstanceOf[SystemMessage]) | |
scala/akka/dispatch/Mailbox.scala: Unsafe.instance.compareAndSwapObject(this, AbstractMailbox.systemMessageOffset, _old.head, _new.head) | |
scala/akka/pattern/AskSupport.scala: private[this] def watchedBy: Set[ActorRef] = Unsafe.instance.getObjectVolatile(this, watchedByOffset).asInstanceOf[Set[ActorRef]] | |
scala/akka/pattern/AskSupport.scala: Unsafe.instance.compareAndSwapObject(this, watchedByOffset, oldWatchedBy, newWatchedBy) | |
scala/akka/pattern/AskSupport.scala: private[this] def state: AnyRef = Unsafe.instance.getObjectVolatile(this, stateOffset) | |
scala/akka/pattern/AskSupport.scala: Unsafe.instance.compareAndSwapObject(this, stateOffset, oldState, newState) | |
scala/akka/pattern/AskSupport.scala: private[this] def setState(newState: AnyRef): Unit = Unsafe.instance.putObjectVolatile(this, stateOffset, newState) | |
scala/akka/pattern/CircuitBreaker.scala: Unsafe.instance.compareAndSwapObject(this, AbstractCircuitBreaker.stateOffset, oldState, newState) | |
scala/akka/pattern/CircuitBreaker.scala: Unsafe.instance.getObjectVolatile(this, AbstractCircuitBreaker.stateOffset).asInstanceOf[State] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment