8dc3c85a03
Minor counter infrastructure. We invoke next-token 1400 times while loading the shell's data disk, so we're wasting around 1.4MB during tokenization.
32 lines
511 B
Plaintext
32 lines
511 B
Plaintext
# A rudimentary counter that can be called from anywhere.
|
|
|
|
== code
|
|
|
|
count-event:
|
|
# . prologue
|
|
55/push-ebp
|
|
89/<- %ebp 4/r32/esp
|
|
#
|
|
ff 0/subop/increment *Foo
|
|
$count-event:end:
|
|
# . epilogue
|
|
89/<- %esp 5/r32/ebp
|
|
5d/pop-to-ebp
|
|
c3/return
|
|
|
|
count-of-events: # -> _/eax: int
|
|
# . prologue
|
|
55/push-ebp
|
|
89/<- %ebp 4/r32/esp
|
|
#
|
|
8b/-> *Foo 0/r32/eax
|
|
$count-of-events:end:
|
|
# . epilogue
|
|
89/<- %esp 5/r32/ebp
|
|
5d/pop-to-ebp
|
|
c3/return
|
|
|
|
== data
|
|
Foo:
|
|
0/imm32
|