aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-10-31 00:11:38 +0100
committergingerBill <bill@gingerbill.org>2021-10-31 00:11:38 +0100
commit8ef6f9dd7bbb1611dd7166c4e14034e53df4a8b6 (patch)
treed13e60bb55f8d8167ebd906ee66485a0097c208b /core
parent5bc8a491a7768da0019b7b17da637e681f2ace90 (diff)
Compile `wasm64`; Add `lb_run_remove_unused_function_pass`
Diffstat (limited to 'core')
-rw-r--r--core/runtime/default_temporary_allocator.odin25
-rw-r--r--core/runtime/internal.odin5
2 files changed, 16 insertions, 14 deletions
diff --git a/core/runtime/default_temporary_allocator.odin b/core/runtime/default_temporary_allocator.odin
index b3602469d..afe3ee922 100644
--- a/core/runtime/default_temporary_allocator.odin
+++ b/core/runtime/default_temporary_allocator.odin
@@ -1,23 +1,12 @@
package runtime
-@(private)
-byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte {
- return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)}
-}
-
-
DEFAULT_TEMP_ALLOCATOR_BACKING_SIZE: int : #config(DEFAULT_TEMP_ALLOCATOR_BACKING_SIZE, 1<<22)
-Default_Temp_Allocator :: struct {
- data: []byte,
- curr_offset: int,
- prev_allocation: rawptr,
- backup_allocator: Allocator,
- leaked_allocations: [dynamic][]byte,
-}
-
when ODIN_OS == "freestanding" {
+ Default_Temp_Allocator :: struct {
+ }
+
default_temp_allocator_init :: proc(s: ^Default_Temp_Allocator, size: int, backup_allocator := context.allocator) {
}
@@ -30,6 +19,14 @@ when ODIN_OS == "freestanding" {
return nil, nil
}
} else {
+ Default_Temp_Allocator :: struct {
+ data: []byte,
+ curr_offset: int,
+ prev_allocation: rawptr,
+ backup_allocator: Allocator,
+ leaked_allocations: [dynamic][]byte,
+ }
+
default_temp_allocator_init :: proc(s: ^Default_Temp_Allocator, size: int, backup_allocator := context.allocator) {
s.data = make_aligned([]byte, size, 2*align_of(rawptr), backup_allocator)
s.curr_offset = 0
diff --git a/core/runtime/internal.odin b/core/runtime/internal.odin
index 4347f28c0..0a6d07467 100644
--- a/core/runtime/internal.odin
+++ b/core/runtime/internal.odin
@@ -2,6 +2,11 @@ package runtime
import "core:intrinsics"
+@(private)
+byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte #no_bounds_check {
+ return ([^]byte)(data)[:max(len, 0)]
+}
+
bswap_16 :: proc "contextless" (x: u16) -> u16 {
return x>>8 | x<<8
}