From b1635a5c8e25650a19999c246be321a0794eb58a Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Thu, 17 Oct 2019 22:03:35 -0700 Subject: 5701 --- html/059stop.subx.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'html/059stop.subx.html') diff --git a/html/059stop.subx.html b/html/059stop.subx.html index e51a73db..20c23027 100644 --- a/html/059stop.subx.html +++ b/html/059stop.subx.html @@ -102,8 +102,8 @@ if ('onhashchange' in window) { 41 # the stack. 42 # Ugly that we need to know the size of args. Don't allocate variables between 43 # tailor-exit-descriptor and the call it's for. - 44 tailor-exit-descriptor: # ed : (address exit-descriptor), nbytes : int -> <void> - 45 # . prolog + 44 tailor-exit-descriptor: # ed : (address exit-descriptor), nbytes : int + 45 # . prologue 46 55/push-ebp 47 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 48 # . save registers @@ -145,13 +145,13 @@ if ('onhashchange' in window) { 84 # . restore registers 85 59/pop-to-ecx 86 58/pop-to-eax - 87 # . epilog + 87 # . epilogue 88 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 89 5d/pop-to-ebp 90 c3/return 91 92 stop: # ed : (address exit-descriptor), value : int - 93 # no prolog; one way or another, we're going to clobber registers + 93 # no prologue; one way or another, we're going to clobber registers 94 # eax = ed 95 8b/copy 1/mod/*+disp8 4/rm32/sib 4/base/esp 4/index/none . 0/r32/eax 4/disp8 . # copy *(esp+4) to eax 96 # if (ed->target == 0) really exit @@ -173,7 +173,7 @@ if ('onhashchange' in window) { 112 c3/return # doesn't return to caller 113 114 test-stop-skips-returns-on-exit: -115 # This looks like the standard prolog, but is here for different reasons. +115 # This looks like the standard prologue, but is here for different reasons. 116 # A function calling 'stop' can't rely on ebp persisting past the call. 117 # 118 # Use ebp here as a stable base to refer to locals and arguments from in the @@ -216,14 +216,14 @@ if ('onhashchange' in window) { 155 e8/call check-ints-equal/disp32 156 # . . discard args 157 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp -158 # . epilog +158 # . epilogue 159 # don't restore esp from ebp; manually reclaim locals 160 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 161 5d/pop-to-ebp 162 c3/return 163 164 _test-stop-1: # ed : (address exit-descriptor) -165 # . prolog +165 # . prologue 166 55/push-ebp 167 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 168 # _test-stop-2(ed) @@ -244,13 +244,13 @@ if ('onhashchange' in window) { 183 e8/call check-ints-equal/disp32 184 # . . discard args 185 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp -186 # . epilog +186 # . epilogue 187 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 188 5d/pop-to-ebp 189 c3/return 190 191 _test-stop-2: # ed : (address exit-descriptor) -192 # . prolog +192 # . prologue 193 55/push-ebp 194 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp 195 # . stop(ed, 1) @@ -261,7 +261,7 @@ if ('onhashchange' in window) { 200 e8/call stop/disp32 201 # should never get past this point 202 $_test-stop-2:dead-end: -203 # . epilog +203 # . epilogue 204 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 205 5d/pop-to-ebp 206 c3/return -- cgit 1.4.1-2-gfad0