|
@@ -336,6 +336,8 @@ procedure WasiAllocateThreadVars; forward;
|
|
procedure FPCWasmThreadStartPascal(tid: longint; start_arg: PWasmThread);
|
|
procedure FPCWasmThreadStartPascal(tid: longint; start_arg: PWasmThread);
|
|
begin
|
|
begin
|
|
{$IFDEF DEBUGWASMTHREADS}DebugWriteln('FPCWasmThreadStartPascal(...)');{$ENDIF}
|
|
{$IFDEF DEBUGWASMTHREADS}DebugWriteln('FPCWasmThreadStartPascal(...)');{$ENDIF}
|
|
|
|
+ fpc_wasm32_init_tls(start_arg^.InitTLSBase);
|
|
|
|
+
|
|
start_arg^.ID:=tid;
|
|
start_arg^.ID:=tid;
|
|
GlobalCurrentThread:=@start_arg;
|
|
GlobalCurrentThread:=@start_arg;
|
|
GlobalIsMainThread:=0;
|
|
GlobalIsMainThread:=0;
|
|
@@ -359,12 +361,6 @@ asm
|
|
i32.load
|
|
i32.load
|
|
global.set $__stack_pointer
|
|
global.set $__stack_pointer
|
|
|
|
|
|
- local.get 1
|
|
|
|
- i32.const 4
|
|
|
|
- i32.add
|
|
|
|
- i32.load
|
|
|
|
- global.set $__tls_base
|
|
|
|
-
|
|
|
|
local.get 0
|
|
local.get 0
|
|
local.get 1
|
|
local.get 1
|
|
call $FPCWasmThreadStartPascal
|
|
call $FPCWasmThreadStartPascal
|