Changeset 8041
- Timestamp:
- Jan 10, 2008, 12:29:57 AM (17 years ago)
- Location:
- branches/working-0711/ccl/lisp-kernel
- Files:
-
- 2 edited
-
x86-spentry64.s (modified) (6 diffs)
-
x86-subprims64.s (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/working-0711/ccl/lisp-kernel/x86-spentry64.s
r7960 r8041 2052 2052 __(jnz 0b) 2053 2053 __(movq %stack_temp,(%temp0)) 2054 __(movq %imm0,tsp_frame.fixed_overhead(%temp0)) 2055 __(leaq tsp_frame.fixed_overhead+fulltag_misc(%temp0),%arg_z) 2054 __(movq %rbp,csp_frame.save_rbp(%temp0)) 2055 __(movq %imm0,csp_frame.fixed_overhead(%temp0)) 2056 __(leaq csp_frame.fixed_overhead+fulltag_misc(%temp0),%arg_z) 2056 2057 __(ret) 2057 2058 local_label(stack_misc_alloc_heap_alloc_ivector): … … 2668 2669 __(movq %rcontext:tcr.foreign_sp,%arg_z) 2669 2670 __(movq %imm1,(%arg_z)) 2671 __(movq %rbp,csp_frame.save_rbp(%arg_z)) 2670 2672 __(lea macptr.size+tsp_frame.fixed_overhead(%arg_z),%imm0) 2671 2673 __(movq $macptr_header,tsp_frame.fixed_overhead(%arg_z)) … … 2679 2681 __(movq %rcontext:tcr.foreign_sp,%imm0) 2680 2682 __(movq %imm1,(%imm0)) 2683 __(movq %rbp,csp_frame.save_rbp(%imm0)) 2681 2684 __(set_nargs(1)) 2682 2685 __(movq $nrs.new_gcable_ptr,%fname) … … 2693 2696 __(movq %rcontext:tcr.foreign_sp,%arg_z) 2694 2697 __(movq %imm1,(%arg_z)) 2698 __(movq %rbp,csp_frame.save_rbp(%arg_z)) 2695 2699 __(lea macptr.size+tsp_frame.fixed_overhead(%arg_z),%imm0) 2696 2700 __(movq $macptr_header,tsp_frame.fixed_overhead(%arg_z)) … … 2709 2713 __(movq %rcontext:tcr.foreign_sp,%imm0) 2710 2714 __(movq %imm1,(%imm0)) 2715 __(movq %rbp,csp_frame.save_rbp(%imm0)) 2711 2716 __(set_nargs(1)) 2712 2717 __(movq $nrs.new_gcable_ptr,%fname) … … 4522 4527 __(movq %r12,%r11) 4523 4528 1: /* Align foreign stack for lisp */ 4524 __( subq $node_size,%rsp)4529 __(pushq %rcontext:tcr.save_rbp) /* mark cstack frame's "owner" */ 4525 4530 __(pushq %rcontext:tcr.foreign_sp) 4526 4531 /* init lisp registers */ -
branches/working-0711/ccl/lisp-kernel/x86-subprims64.s
r6523 r8041 35 35 __(movq %rsp,%rbp) 36 36 /* Switch to the lisp stack */ 37 __(push $0) 38 __(push $0) 37 39 __(movq %rsp,%rcontext:tcr.foreign_sp) 38 40 __(movq %rcontext:tcr.save_vsp,%rsp) 39 41 __(push $0) 40 42 __(movq %rsp,%rbp) 43 44 __(TSP_Alloc_Fixed(0,%temp0)) 45 __(movsd %fpzero,tsp_frame.save_rbp(%temp0)) /* sentinel */ 41 46 __(jmp local_label(test)) 42 47 local_label(loop): … … 61 66 __(jnz local_label(loop)) 62 67 local_label(back_to_c): 68 __(discard_temp_frame(%imm0)) 63 69 __(movq %rcontext:tcr.foreign_sp,%rsp) 70 __(addq $dnode_size,%rsp) 64 71 __(movq %rsp,%rbp) 65 72 __(leave)
Note:
See TracChangeset
for help on using the changeset viewer.
