diff contextSwitch.s @ 173:bfaebdf60df3

coreLoop: All written variables are now on local stack or in seperate cache line
author Merten Sach <msach@mailbox.tu-berlin.de>
date Tue, 20 Dec 2011 15:39:30 +0100
parents 9ddbb071142d
children
line diff
     1.1 --- a/contextSwitch.s	Tue Dec 20 15:08:29 2011 +0100
     1.2 +++ b/contextSwitch.s	Tue Dec 20 15:39:30 2011 +0100
     1.3 @@ -31,8 +31,8 @@
     1.4   * 0x38 coreLoopStackPtr
     1.5   *
     1.6   * _VMSMasterEnv  offsets:
     1.7 - * 0x48 coreLoopReturnPt
     1.8 - * 0x54 masterLock
     1.9 + * 0x148 coreLoopReturnPt
    1.10 + * 0x00 masterLock
    1.11   */
    1.12  .globl switchToVP
    1.13  switchToVP:
    1.14 @@ -56,8 +56,8 @@
    1.15   * 0x38 coreLoopStackPtr
    1.16   *
    1.17   * _VMSMasterEnv  offsets:
    1.18 - * 0x48 coreLoopReturnPt
    1.19 - * 0x54 masterLock
    1.20 + * 0x148 coreLoopReturnPt
    1.21 + * 0x00 masterLock
    1.22   */
    1.23  .globl switchToCoreLoop
    1.24  switchToCoreLoop:
    1.25 @@ -69,7 +69,7 @@
    1.26      movq    0x30(%rdi), %rbp         #restore frame pointer
    1.27      movq    $_VMSMasterEnv, %rcx
    1.28      movq    (%rcx)    , %rcx
    1.29 -    movq    0x48(%rcx), %rax         #get CoreLoopStartPt
    1.30 +    movq    0x148(%rcx), %rax         #get CoreLoopStartPt
    1.31      jmp     *%rax                    #jmp to CoreLoop
    1.32  VPReturn:
    1.33      ret
    1.34 @@ -86,8 +86,8 @@
    1.35   * 0x38 coreLoopStackPtr
    1.36   *
    1.37   * _VMSMasterEnv  offsets:
    1.38 - * 0x48 coreLoopReturnPt
    1.39 - * 0x54 masterLock
    1.40 + * 0x148 coreLoopReturnPt
    1.41 + * 0x00 masterLock
    1.42   */
    1.43  .globl masterSwitchToCoreLoop
    1.44  masterSwitchToCoreLoop:
    1.45 @@ -99,8 +99,8 @@
    1.46      movq    0x30(%rdi), %rbp         #restore frame pointer
    1.47      movq    $_VMSMasterEnv, %rcx
    1.48      movq    (%rcx)    , %rcx
    1.49 -    movq    0x48(%rcx), %rax         #get CoreLoopStartPt
    1.50 -    movl    $0x0      , 0x54(%rcx)   #release lock
    1.51 +    movq    0x148(%rcx), %rax         #get CoreLoopStartPt
    1.52 +    movl    $0x0      , 0x00(%rcx)   #release lock
    1.53      jmp     *%rax                    #jmp to CoreLoop
    1.54  MasterReturn:
    1.55      ret