Simplify null-writing from commit 8559a85cca so as to avoid a branch.

This commit is contained in:
Roy Frostig 2010-08-26 18:55:47 -07:00
parent 07095a3ef9
commit aa30304328
1 changed files with 2 additions and 8 deletions

View File

@ -3264,6 +3264,7 @@ let trans_visitor
get_element_ptr dst Abi.binding_field_bound_data
in
mov dst_item (Il.Cell src_item);
mov dst_binding zero;
let null_jmp = null_check src_binding in
(* Copy if we have a src binding. *)
(* FIXME (issue #58): this is completely wrong, call
@ -3274,14 +3275,7 @@ let trans_visitor
dst_binding (Ast.TY_box Ast.TY_int)
src_binding (Ast.TY_box Ast.TY_int)
curr_iso;
let end_jmp = mark() in
emit (Il.jmp Il.JMP Il.CodeNone);
patch null_jmp;
(* The src had a null binding, so make sure the dst
* does now too.
*)
mov dst_binding zero;
patch end_jmp
patch null_jmp
end
| _ ->