feat: std.thread — Thread, Mutex/Cond, bounded worker Pool (PLAN-HTTPZ S6)
pthread bindings with darwin opaque sizes (mutex 64B, cond 48B; glibc divergence is a C3 per-OS item). Mutex/Cond initialize IN PLACE and Pool lives behind Pool.create's heap pointer — POSIX sync objects are address-sensitive, so nothing here moves after setup. Thread.spawn takes the C2 re-entry contract entry (callconv(.c), fabricates its own Context); Pool workers do exactly that with a per-worker malloc-backed GPA, then run default-conv tasks inside it. submit returns false on a full backlog (httpz thread_pool backpressure); shutdown finishes queued work and joins every worker. examples/1637 pins: 4 raw threads x 1000 locked increments, 100 pool tasks summing exactly once across 4 workers, a held worker + full backlog refusing the next submit, clean shutdown. JIT + AOT (AOT run three times). The std.sx barrel carries thread; .ir snapshot regen is the usual renumbering.
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -938,6 +938,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i64 @accept_c(ptr %0) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1430,6 +1430,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.77(i64, ptr) #0
|
||||
|
||||
|
||||
@@ -1446,6 +1446,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.77(i64, ptr) #0
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.77(i64, ptr) #0
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1448,6 +1448,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.77(i64, ptr) #0
|
||||
|
||||
|
||||
@@ -1424,6 +1424,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1422,6 +1422,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
|
||||
@@ -945,6 +945,90 @@ declare void @Server.write_more(ptr, ptr, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @Server.respond_error_close(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_create(ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_join(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_detach(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_lock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_unlock(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_mutex_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_init(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_wait(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_signal(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_broadcast(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pthread_cond_destroy(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Mutex.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.lock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.unlock(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Mutex.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Cond.setup(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.wait(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.signal(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.broadcast(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Cond.destroy(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Thread.spawn(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.join(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Thread.detach(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare [2 x i64] @Pool.create(ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @Pool.submit(ptr, ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Pool.shutdown(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.77(i64, ptr) #0
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
|
||||
1
examples/expected/1637-std-thread.exit
Normal file
1
examples/expected/1637-std-thread.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
1
examples/expected/1637-std-thread.stderr
Normal file
1
examples/expected/1637-std-thread.stderr
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
4
examples/expected/1637-std-thread.stdout
Normal file
4
examples/expected/1637-std-thread.stdout
Normal file
@@ -0,0 +1,4 @@
|
||||
raw threads: 4 x 1000 locked increments = 4000
|
||||
pool: 100 tasks across 4 workers summed to 5050
|
||||
backpressure: full backlog refuses
|
||||
std.thread ok
|
||||
Reference in New Issue
Block a user