- 12 Mar, 2014 1 commit
-
-
Kenton Varda authored
Make it possible for a message builder to incorporate a byte array not owned by it without copying. Useful for injecting large data blobs into a message without copying their contents. Access this functionality through the Orphanage interface.
-
- 06 Dec, 2013 1 commit
-
-
Kenton Varda authored
Change capability pointers to be indexes into a separate cap list so that CapDescriptors can be interpreted on receipt rather than delaying until the application actually traverses the message. This massively simplifies a lot of things.
-
- 28 Nov, 2013 1 commit
-
-
Kenton Varda authored
Revamp concurrency model, part 1: EventLoop no longer allows cross-thread event queuing, simplifying many things. Capability clients are no longer thread-safe, so they don't have to be so const. In the future, explicit ways to communicate between threads will be re-added, but threads will be treated more like separate vats that just happen to have a particularly fat pipe. Upcoming: Remove mutexes.
-
- 15 Oct, 2013 1 commit
-
-
Kenton Varda authored
-
- 12 Oct, 2013 1 commit
-
-
Kenton Varda authored
-
- 11 Oct, 2013 1 commit
-
-
Kenton Varda authored
-
- 31 Aug, 2013 1 commit
-
-
Kenton Varda authored
Actually fix the bug, which was a doozy: OrphanBuilder::tag was sometimes initialized using WirePointer::setKindAndTarget(), but since the tag didn't live inside the target segment, this used illegal pointer arithmetic. The target is never read from an orphan tag anyway, so I thought it would be no big deal. But it turns out Clang actually optimizes under the assumption that pointer arithmetic returns a whole value. As a result, on 32-bit system where 64-bit values are only 32-bit aligned, the tag and target might not have been a whole number of words apart, and the extra bit actually found its way into the 'kind' bits, causing e.g. a struct pointer to become an invalid far pointer. Crash. The fix required refactoring to ensure that setKindAndOffset() is never used for orphan tags.
-
- 26 Aug, 2013 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
- 22 Jul, 2013 1 commit
-
-
Kenton Varda authored
-
- 18 Jul, 2013 1 commit
-
-
Kenton Varda authored
-
- 13 Jul, 2013 1 commit
-
-
Kenton Varda authored
-
- 08 Jul, 2013 1 commit
-
-
Kenton Varda authored
-