projects
/
onyx.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9055b5e
)
added: `core.alloc.arena.auto_temp()`
author
Brendan Hansen
<brendan.f.hansen@gmail.com>
Wed, 8 Mar 2023 20:38:07 +0000
(14:38 -0600)
committer
Brendan Hansen
<brendan.f.hansen@gmail.com>
Wed, 8 Mar 2023 20:38:07 +0000
(14:38 -0600)
core/alloc/arena.onyx
patch
|
blob
|
history
diff --git
a/core/alloc/arena.onyx
b/core/alloc/arena.onyx
index 13e91135f7ce93b1108b6cdf55ec6dcca7e13dfa..d9ef2a473196431bdd8da0e5468930dfa9d8a195 100644
(file)
--- a/
core/alloc/arena.onyx
+++ b/
core/alloc/arena.onyx
@@
-181,3
+181,16
@@
auto :: #match {
return 0;
}
}
+
+auto_temp :: macro (body: Code) -> i32 {
+ use core.alloc {arena, heap_allocator}
+ a := arena.make(heap_allocator, 32 * 1024);
+
+ old_allocator := context.temp_allocator;
+ context.temp_allocator = arena.make_allocator(&a);
+
+ #unquote body;
+
+ arena.free(&a);
+ context.temp_allocator = old_allocator;
+}