about summary refs log tree commit diff stats
path: root/linux/120allocate.subx
Commit message (Expand)AuthorAgeFilesLines
* 7842 - new directory organizationKartik K. Agaram2021-03-031-0/+967
;id=0a7b03727a736f73c16d37b22afef8496c60d657'>^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27


























                                                                         
to dereference a heap allocation
  copy handle to stack
  perform lookup to stack

lookup x in *(ESP+4) of type (handle T)

  reg <- copy *(ESP+5) : (address T stack)
  payload alloc id <- copy *reg
  address alloc id <- copy *(ESP+4)
  compare payload alloc id, address alloc id
  jump if not equal to print stack trace and panic
  address <- add reg, 1

types:

  address T reg
  address T stack
  address T heap
  address T global

copy down this spectrum is not permitted, but up is.

addresses aren't allowed in types, globals and on the heap. Only handles.
addresses are only for temporary manipulations.


*(address T) <- copy T