소스 검색

`contextless` fixes for `js`

gingerBill 1 개월 전
부모
커밋
804984ed35
4개의 변경된 파일6개의 추가작업 그리고 6개의 파일을 삭제
  1. 2 2
      base/runtime/procs_js.odin
  2. 2 2
      vendor/libc/libc.odin
  3. 1 1
      vendor/libc/stdlib.odin
  4. 1 1
      vendor/wgpu/wgpu_js.odin

+ 2 - 2
base/runtime/procs_js.odin

@@ -3,8 +3,8 @@ package runtime
 
 init_default_context_for_js: Context
 @(init, private="file")
-init_default_context :: proc() {
-	init_default_context_for_js = context
+init_default_context :: proc "contextless" () {
+	__init_context(&init_default_context_for_js)
 }
 
 @(export)

+ 2 - 2
vendor/libc/libc.odin

@@ -10,8 +10,8 @@ g_ctx: runtime.Context
 g_allocator: mem.Compat_Allocator
 
 @(init)
-init_context :: proc() {
-	g_ctx = context
+init_context :: proc "contextless" () {
+	g_ctx = runtime.default_context()
 
 	// Wrapping the allocator with the mem.Compat_Allocator so we can
 	// mimic the realloc semantics.

+ 1 - 1
vendor/libc/stdlib.odin

@@ -169,7 +169,7 @@ exit :: proc "c" (exit_code: c.int) -> ! {
 }
 
 @(private, fini)
-finish_atexit :: proc "c" () {
+finish_atexit :: proc "contextless" () {
 	n := intrinsics.atomic_exchange(&atexit_functions_count, 0)
 	for function in atexit_functions[:n] {
 		function()

+ 1 - 1
vendor/wgpu/wgpu_js.odin

@@ -5,7 +5,7 @@ import "base:runtime"
 g_context: runtime.Context
 
 @(private="file", init)
-wgpu_init_allocator :: proc() {
+wgpu_init_allocator :: proc "contextless" () {
 	if g_context.allocator.procedure == nil {
 		g_context = runtime.default_context()
 	}