Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-11-13 | Use generic lock-free queue for async threads | Rickard Green | |
Queues used for communication between async threads and scheduler threads have been replaced with lock-free queues. Drivers using the driver_async functionality are not automatically locked to the system anymore, and can be unloaded as any dynamically linked in driver. Scheduling of ready async jobs is now also interleaved in between other jobs. Previously all ready async jobs was performed at once. | |||
2011-05-20 | Update copyright years | Björn-Egil Dahlberg | |
2011-04-26 | driver_entry: Remove gratuitous paren and fix typo | Tuncer Ayaz | |
2011-03-30 | Remove gratuitous paren in driver_entry | Tuncer Ayaz | |
2010-12-15 | Use new atomic types in emulator | Rickard Green | |
2010-05-05 | OTP-8581 Revert prototype of driver_async | Patrik Nyblom | |
2010-03-10 | Adopt the new (R13B04) Nif functionality to the halfword codebase | Patrik Nyblom | |
Change erl_int_sizes_config to include HALFWORD_HEAP_EMULATOR, which make it possible for the NIFs to figure out the term size. | |||
2010-03-10 | Store pointers to heap data in 32-bit words | Patrik Nyblom | |
Store Erlang terms in 32-bit entities on the heap, expanding the pointers to 64-bit when needed. This works because all terms are stored on addresses in the 32-bit address range (the 32 most significant bits of pointers to term data are always 0). Introduce a new datatype called UWord (along with its companion SWord), which is an integer having the exact same size as the machine word (a void *), but might be larger than Eterm/Uint. Store code as machine words, as the instructions are pointers to executable code which might reside outside the 32-bit address range. Continuation pointers are stored on the 32-bit stack and hence must point to addresses in the low range, which means that loaded beam code much be placed in the low 32-bit address range (but, as said earlier, the instructions themselves are full words). No Erlang term data can be stored on C stacks (enforced by an earlier commit). This version gives a prompt, but test cases still fail (and dump core). The loader (and emulator loop) has instruction packing disabled. The main issues has been in rewriting loader and actual virtual machine. Subsystems (like distribution) does not work yet. | |||
2010-02-11 | OTP-8335 Even more NIF features | Sverker Eriksson | |
2009-11-20 | The R13B03 release.OTP_R13B03 | Erlang/OTP | |