diff --git a/spell-check-custom-words.txt b/spell-check-custom-words.txt index 7255b2dd..bb3844f6 100644 --- a/spell-check-custom-words.txt +++ b/spell-check-custom-words.txt @@ -261,8 +261,8 @@ scalable Scalable Exponentiate exponentiate -Executablity -executablity +Executability +executability Unwritable unwritable untrusted diff --git a/src/fuel-vm/index.md b/src/fuel-vm/index.md index 8ee258f1..76374035 100644 --- a/src/fuel-vm/index.md +++ b/src/fuel-vm/index.md @@ -183,7 +183,15 @@ A call frame consists of the following, word-aligned: ## Access rights -Only memory that has been allocated is accessible. Attempting to read or write memory that has not been allocated will result in VM panic. Similarly reads or writes that cross from the stack to the heap will panic. Note that stack remains readable even after stack frame has been shrunk. However, if the heap is afterwards expanded to cover that area, the crossing read prohibition still remains. In other word, memory between highest-ever `$sp` value and current `$hp` is inaccessible. +Only memory that has been allocated is accessible. +In other words, memory between highest-ever `$sp` value and current `$hp` +is inaccessible. Attempting to read or write +memory that has not been allocated will result in VM panic. +Similarly reads or writes that cross from the stack to the heap +will panic. Note that stack remains readable even after stack +frame has been shrunk. However, if the heap is afterwards expanded +to cover that area, the crossing read prohibition still remains, +while all memory is accessible. ### Ownership @@ -199,6 +207,6 @@ If the context is internal, the owned memory range for a call frame is: 1. `[$ssp, $sp)`: the writable stack area of the call frame. 1. `[$hp, $fp->$hp)`: the heap area allocated by this call frame. -### Executablity +### Executability Memory is only executable in range `[$is, $sp)`. Attempting to execute instructions outside these boundaries will cause a panic.