/relibc/ralloc/src/ |
H A D | lazy_init.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | prelude.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | cell.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | ptr.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | tls.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | brk.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | fail.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | vec.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | lib.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | allocator.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | block.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | bookkeeper.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
/relibc/ralloc/shim/ |
H A D | Cargo.toml | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
/relibc/ralloc/tests/ |
H A D | partial_realloc.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | manual.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | partial_free.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
/relibc/ralloc/tests/util/ |
H A D | mod.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
/relibc/ralloc/shim/src/ |
H A D | lib.rs | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
/relibc/ralloc/ |
H A D | README.md | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|
H A D | Cargo.toml | cdec4b0e08c1ca35e5fef3b054d4eb931a0c4fb9 Wed Aug 03 13:08:19 UTC 2016 ticki <ticki@users.noreply.github.com> Ralloc 1.0.0: A trait-based local/global allocator model.
- Use a trait-based approach to local/global allocators. In particular, we make what was previously provided by `Bookkeeper` to a trait in which the custom methods are overriden. - Enable ralloc-based block list reallocation. Instead of using BRK for this, we allow the allocator itself to manage the bookkeeper's capacity. This is done by adding the guarantee of the vector's capacity always being greater than or equal two the length plus two. - Remove the `UniCell` primitive and provides a `MoveCell` primitive instead. - Move `Bookkeeper`-specific methods to `Bookkeeper`'s impl instead of the `Allocator` trait. - Introduce the `LazyInit` primitive, which provides functionality similar to the `lazy_static` crate. In particular, it allows for an initializer to be executed if initialization is needed. This is used for allocating the initial segment. - Use lonely method for allocation API (abolish `lock`, which is no longer relevant due to the new model). - Due to an unsoundness discovered by @nilset, we remove the correctness guarantee of the "seperate deallocation" example. - Remove microcaches. This method is outdated with the new model. In the future, it will likely be replaced by a small-allocation LL arena. - Wrap TLS variables in a newtype that guarantees against crossthread leakage. - Update the tests.
|