Removed dom_owned, splitting things between task_owned and kernel_owned. Had to re-xfail a few tests brson recently un-xfailed.

This commit is contained in:
Eric Holk
2011-06-27 19:15:03 -07:00
committed by Graydon Hoare
parent f6f945fed5
commit 49a8cb34d2
21 changed files with 217 additions and 226 deletions

View File

@@ -4,13 +4,14 @@
#include "rust_internal.h"
circular_buffer::circular_buffer(rust_dom *dom, size_t unit_sz) :
dom(dom),
circular_buffer::circular_buffer(rust_task *task, size_t unit_sz) :
dom(task->dom),
task(task),
unit_sz(unit_sz),
_buffer_sz(initial_size()),
_next(0),
_unread(0),
_buffer((uint8_t *)dom->malloc(_buffer_sz)) {
_buffer((uint8_t *)task->malloc(_buffer_sz)) {
A(dom, unit_sz, "Unit size must be larger than zero.");
@@ -26,7 +27,7 @@ circular_buffer::~circular_buffer() {
I(dom, _buffer);
W(dom, _unread == 0,
"freeing circular_buffer with %d unread bytes", _unread);
dom->free(_buffer);
task->free(_buffer);
}
size_t
@@ -141,9 +142,9 @@ circular_buffer::grow() {
size_t new_buffer_sz = _buffer_sz * 2;
I(dom, new_buffer_sz <= MAX_CIRCULAR_BUFFER_SIZE);
DLOG(dom, mem, "circular_buffer is growing to %d bytes", new_buffer_sz);
void *new_buffer = dom->malloc(new_buffer_sz);
void *new_buffer = task->malloc(new_buffer_sz);
transfer(new_buffer);
dom->free(_buffer);
task->free(_buffer);
_buffer = (uint8_t *)new_buffer;
_next = 0;
_buffer_sz = new_buffer_sz;
@@ -154,9 +155,9 @@ circular_buffer::shrink() {
size_t new_buffer_sz = _buffer_sz / 2;
I(dom, initial_size() <= new_buffer_sz);
DLOG(dom, mem, "circular_buffer is shrinking to %d bytes", new_buffer_sz);
void *new_buffer = dom->malloc(new_buffer_sz);
void *new_buffer = task->malloc(new_buffer_sz);
transfer(new_buffer);
dom->free(_buffer);
task->free(_buffer);
_buffer = (uint8_t *)new_buffer;
_next = 0;
_buffer_sz = new_buffer_sz;