diff options
| author | Graydon Hoare <[email protected]> | 2010-06-30 22:45:54 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-06-30 22:45:54 -0700 |
| commit | 6a0b06e56287f1de7ff096ed79fbf86e1e527290 (patch) | |
| tree | 5596e1e36c3f59dc7f25c84730705aaf28128a0b /src/boot/be | |
| parent | No more "transplant" behavior in "let @x = y", gotta box explicitly. (diff) | |
| download | rust-6a0b06e56287f1de7ff096ed79fbf86e1e527290.tar.xz rust-6a0b06e56287f1de7ff096ed79fbf86e1e527290.zip | |
Rename 'exterior' to 'box' and 'interior' to 'local' (at least wrt. slots; keep MEM_interior for describing interior-parts-of-allocations)
Diffstat (limited to 'src/boot/be')
| -rw-r--r-- | src/boot/be/abi.ml | 22 | ||||
| -rw-r--r-- | src/boot/be/x86.ml | 8 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/boot/be/abi.ml b/src/boot/be/abi.ml index 9108a182..44f9761b 100644 --- a/src/boot/be/abi.ml +++ b/src/boot/be/abi.ml @@ -26,20 +26,20 @@ let frame_glue_fns_field_mark = 0;; let frame_glue_fns_field_drop = 1;; let frame_glue_fns_field_reloc = 2;; -let exterior_rc_slot_field_refcnt = 0;; -let exterior_rc_slot_field_body = 1;; +let box_rc_slot_field_refcnt = 0;; +let box_rc_slot_field_body = 1;; -let exterior_gc_slot_alloc_base = (-3);; -let exterior_gc_slot_field_prev = (-3);; -let exterior_gc_slot_field_next = (-2);; -let exterior_gc_slot_field_ctrl = (-1);; -let exterior_gc_slot_field_refcnt = 0;; -let exterior_gc_slot_field_body = 1;; +let box_gc_slot_alloc_base = (-3);; +let box_gc_slot_field_prev = (-3);; +let box_gc_slot_field_next = (-2);; +let box_gc_slot_field_ctrl = (-1);; +let box_gc_slot_field_refcnt = 0;; +let box_gc_slot_field_body = 1;; -let exterior_rc_header_size = 1;; -let exterior_gc_header_size = 4;; +let box_rc_header_size = 1;; +let box_gc_header_size = 4;; -let exterior_gc_malloc_return_adjustment = 3;; +let box_gc_malloc_return_adjustment = 3;; let stk_field_valgrind_id = 0 + 1;; let stk_field_limit = stk_field_valgrind_id + 1;; diff --git a/src/boot/be/x86.ml b/src/boot/be/x86.ml index 182096ed..d18cf11f 100644 --- a/src/boot/be/x86.ml +++ b/src/boot/be/x86.ml @@ -829,7 +829,7 @@ let sweep_gc_chain emit (Il.jmp Il.JE (codefix exit_jmp_fix)); (* if nonzero *) mov (rc ecx) (* Load GC ctrl word *) - (c (edi_n Abi.exterior_gc_slot_field_ctrl)); + (c (edi_n Abi.box_gc_slot_field_ctrl)); mov (rc eax) (ro ecx); band (rc eax) (immi 1L); (* Extract mark to eax. *) band (* Clear mark in ecx. *) @@ -839,7 +839,7 @@ let sweep_gc_chain if clear_mark then mov (* Write-back cleared. *) - ((edi_n Abi.exterior_gc_slot_field_ctrl)) + ((edi_n Abi.box_gc_slot_field_ctrl)) (ro ecx); emit (Il.cmp (ro eax) (immi 0L)); @@ -870,7 +870,7 @@ let sweep_gc_chain mark skip_jmp_fix; mov (rc edi) (* Advance down chain *) - (c (edi_n Abi.exterior_gc_slot_field_next)); + (c (edi_n Abi.box_gc_slot_field_next)); emit (Il.jmp Il.JMP (codefix repeat_jmp_fix)); (* loop *) mark exit_jmp_fix; @@ -901,7 +901,7 @@ let gc_glue (* The sweep pass has two sub-passes over the GC chain: * * - In pass #1, 'severing', we goes through and disposes of all - * mutable exterior slots in each record. That is, rc-- the referent, + * mutable box slots in each record. That is, rc-- the referent, * and then null-out. If the rc-- gets to zero, that just means the * mutable is part of the garbage set currently being collected. But * a mutable may be live-and-outside; this detaches the garbage set |