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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user