diff options
| author | Graydon Hoare <[email protected]> | 2010-08-10 13:26:00 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-08-10 13:26:00 -0700 |
| commit | dbe8760af3b50bfa14d39406fe0eca2f2b82d8ec (patch) | |
| tree | c5f89fa72e9c28ced0a533a498d64eee30f26f3f /src/boot/me/trans.ml | |
| parent | Fix a deque size bookkeeping bug. (diff) | |
| parent | Add names to tasks and domains. These can either be an explicit literal string (diff) | |
| download | rust-dbe8760af3b50bfa14d39406fe0eca2f2b82d8ec.tar.xz rust-dbe8760af3b50bfa14d39406fe0eca2f2b82d8ec.zip | |
Merge commit 'jyasskin/work'
Conflicts:
src/rt/rust_dom.cpp
src/rt/rust_upcall.cpp
Diffstat (limited to 'src/boot/me/trans.ml')
| -rw-r--r-- | src/boot/me/trans.ml | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml index cc8df00b..620b27e7 100644 --- a/src/boot/me/trans.ml +++ b/src/boot/me/trans.ml @@ -2141,10 +2141,12 @@ let trans_visitor ((*initializing*)_:bool) (dst:Ast.lval) (domain:Ast.domain) + (name:string) (fn_lval:Ast.lval) (args:Ast.atom array) : unit = let (task_cell, _) = trans_lval_init dst in + let runtime_name = trans_static_string name in let (fptr_operand, fn_ty) = trans_callee fn_lval in (*let fn_ty_params = [| |] in*) let _ = @@ -2178,7 +2180,7 @@ let trans_visitor match domain with Ast.DOMAIN_thread -> begin - trans_upcall "upcall_new_thread" new_task [| |]; + trans_upcall "upcall_new_thread" new_task [| runtime_name |]; copy_fn_args false true (CLONE_all new_task) call; trans_upcall "upcall_start_thread" task_cell [| @@ -2190,7 +2192,7 @@ let trans_visitor end | _ -> begin - trans_upcall "upcall_new_task" new_task [| |]; + trans_upcall "upcall_new_task" new_task [| runtime_name |]; copy_fn_args false true (CLONE_chan new_task) call; trans_upcall "upcall_start_task" task_cell [| @@ -4529,8 +4531,9 @@ let trans_visitor | Ast.STMT_send (chan,src) -> trans_send chan src - | Ast.STMT_spawn (dst, domain, plv, args) -> - trans_spawn (maybe_init stmt.id "spawn" dst) dst domain plv args + | Ast.STMT_spawn (dst, domain, name, plv, args) -> + trans_spawn (maybe_init stmt.id "spawn" dst) dst + domain name plv args | Ast.STMT_recv (dst, chan) -> trans_recv (maybe_init stmt.id "recv" dst) dst chan |