Changeset 11829


Ignore:
Timestamp:
Mar 20, 2009, 9:56:33 AM (11 years ago)
Author:
gb
Message:

Need to do stack probes on win64, too. Make the 'windows_cstack_probe'
macro be word-size neutral.

Location:
trunk/source/lisp-kernel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/x86-macros.s

    r11828 r11829  
    712712define([windows_cstack_probe],[
    713713        new_macro_labels()
    714         __(cmpl [$]0x1000,$1)
    715         __(jb macro_label(done))
    716         __(movl rcontext(tcr.foreign_sp),$2)
     714        __(cmp [$]0x1000,$1)
     715        __(jb macro_label(done))
     716        __(mov rcontext(tcr.foreign_sp),$2)
    717717        __(orl [$]0,-0x1000($2))
    718         __(cmpl [$]0x2000,$1)
     718        __(cmp [$]0x2000,$1)
    719719        __(jb macro_label(done))
    720720        __(orl [$]0,-0x2000($2))
    721         __(cmpl [$]0x3000,$1)
     721        __(cmp [$]0x3000,$1)
    722722        __(jb macro_label(done))
    723723        __(orl [$]0,-0x3000($2))
    724         __(cmpl [$]0x4000,$1)
     724        __(cmp [$]0x4000,$1)
    725725        __(jb macro_label(done))
    726726        __(orl [$]0,-0x4000($2))
    727         __(cmpl [$]0x5000,$1)
     727        __(cmp [$]0x5000,$1)
    728728        __(jb macro_label(done))
    729729        __(orl [$]0,-0x5000($2))
    730         __(cmpl [$]0x6000,$1)
     730        __(cmp [$]0x6000,$1)
    731731        __(jb macro_label(done))
    732732        __(orl [$]0,-0x6000($2))
    733         __(cmpl [$]0x7000,$1)
     733        __(cmp [$]0x7000,$1)
    734734        __(jb macro_label(done))
    735735        __(orl [$]0,-0x7000($2))
    736         __(cmpl [$]0x8000,$1)
     736        __(cmp [$]0x8000,$1)
    737737        __(jb macro_label(done))
    738738        __(orl [$]0,-0x8000($2))
    739         __(cmpl [$]0x9000,$1)
     739        __(cmp [$]0x9000,$1)
    740740        __(jb macro_label(done))
    741741        __(orl [$]0,-0x9000($2))
    742         __(cmpl [$]0xa000,$1)
     742        __(cmp [$]0xa000,$1)
    743743        __(jb macro_label(done))
    744744        __(orl [$]0,-0xa000($2))
    745         __(cmpl [$]0xb000,$1)
     745        __(cmp [$]0xb000,$1)
    746746        __(jb macro_label(done))
    747747        __(orl [$]0,-0xb000($2))
    748         __(cmpl [$]0xc000,$1)
     748        __(cmp [$]0xc000,$1)
    749749        __(jb macro_label(done))
    750750        __(orl [$]0,-0xc000($2))
    751         __(cmpl [$]0xd000,$1)
     751        __(cmp [$]0xd000,$1)
    752752        __(jb macro_label(done))
    753753        __(orl [$]0,-0xd000($2))
    754         __(cmpl [$]0xe000,$1)
     754        __(cmp [$]0xe000,$1)
    755755        __(jb macro_label(done))
    756756        __(orl [$]0,-0xe000($2))
    757         __(cmpl [$]0xf000,$1)
     757        __(cmp [$]0xf000,$1)
    758758        __(jb macro_label(done))
    759759        __(orl [$]0,-0xf000($2))
  • trunk/source/lisp-kernel/x86-spentry64.s

    r11794 r11829  
    20682068        __(cmpq $tstack_alloc_limit,%imm1)
    20692069        __(ja local_label(stack_misc_alloc_heap_alloc_ivector))
     2070        __ifdef([WINDOWS])
     2071         __(windows_cstack_probe(%imm1,%temp0))
     2072        __endif
    20702073        __(movq rcontext(tcr.foreign_sp),%stack_temp)
    20712074        __(movd %stack_temp,%temp1)
     
    26802683        __(cmpq $tstack_alloc_limit,%imm0)
    26812684        __(jae 1f)
     2685        __ifdef([WINDOWS])
     2686         __(windows_cstack_probe(%imm0,%arg_z))
     2687        __endif
    26822688        __(movq rcontext(tcr.foreign_sp),%imm1)
    26832689        __(subq %imm0,rcontext(tcr.foreign_sp))
     
    27072713        __(cmpq $tstack_alloc_limit,%imm0)
    27082714        __(jae 9f)
     2715        __ifdef([WINDOWS])
     2716         __(windows_cstack_probe(%imm0,%arg_z))
     2717        __endif       
    27092718        __(movq rcontext(tcr.foreign_sp),%imm1)
    27102719        __(subq %imm0,rcontext(tcr.foreign_sp))
Note: See TracChangeset for help on using the changeset viewer.