Commit graph

12 commits

Author SHA1 Message Date
Roland
5c823ad50d replace ConcurrentLinkedQueue with single-linked list for Mailbox.systemQueue
cost zero when empty, non-blocking, shave off 84 bytes per actor
2011-10-18 21:21:19 +02:00
Roland
183dfb4d7f remove SystemEnvelope
- channel field was always set to NullChannel and not used
- receiver field is better put into the Mailbox, because there it takes
  space only once per actor
- leaves only the bare SystemMessage to be queued
2011-10-18 16:44:35 +02:00
Viktor Klang
4e960e5364 Changing so that the mailbox status is ack:ed after the _whole_ processing of the current batch, which means that Akka only does 1 volatile write per batch (of course the backing mailboxes might do their own volatile writes) 2011-10-17 19:33:19 +02:00
Viktor Klang
3a543ed23d Relized that setAsIdle doesn't need to call acknowledgeStatus since it's already called within the systemInvoke and invoke 2011-10-15 16:52:28 +02:00
Peter Vlugter
67a9a01bff Merge master into tame-globals branch 2011-10-07 15:59:18 +02:00
Viktor Klang
4313a28fbd Adding final declarations on a number of case-classes in Mailbox.scala, and also made constants of methods that were called frequently in the hot path 2011-10-07 11:34:07 +02:00
Roland
2381ec54d0 introduce AkkaApplication
- remove global Config
- pull everything which depended on it into new AkkaApplication
- leave EventHandler alone for the moment: that evil sucker gets his
  very own AkkaApplication("akka-reference.conf") until we have settled
  on an acceptable logging API without globals
- make akka-actor and akka-testkit compile
- TestKit uses implicit AkkaApplication passing for maximum convenience
- Actor object nearly completely removed, actor creation possible via
  ActorRefFactory interface which is implemented by AkkaApplication and
  ActorContext
- serialization of ActorRef is probably broken, and so is the reflective
  RemoteSupport (now needs AkkaApplication constructor arg)
- everything else is still broken, including akka-actor-tests, so this
  is of course all not runtime-tested
2011-10-06 21:19:46 +02:00
Roland
2252c38477 switch on force inlining of Mailbox one-liners 2011-10-04 19:40:49 +02:00
Roland
4b5c99e9bd optimize Mailbox._status usage
- make Scheduled==4 to allow bitwise operations
- unfold become(status) into three methods for better inlining
- optimize patterns in setAsIdle away: table switch is probably slower
  than a single conditional
- fix LoggingReceiveSpec glitch wrt. async stop()
2011-10-04 19:33:06 +02:00
Viktor Klang
d000a51e92 Removing the AtomicInteger in Mailbox and implementing it as a volatile int + AtomicIntegerFieldUpdater in AbstractMailbox.java 2011-10-04 15:22:41 +02:00
Viktor Klang
6b8ed8601b Tidying up some of the CAS:es in the mailbox status management 2011-10-04 15:02:51 +02:00
Roland
ece571a535 rename {Message,Mailbox}Handling.scala 2011-09-28 21:59:10 +02:00
Renamed from akka-actor/src/main/scala/akka/dispatch/MailboxHandling.scala (Browse further)