comparison modules/bytearray.tp @ 347:ff7ea11b4b60

Add length method to executable bytearrays
author Michael Pavone <pavone@retrodev.com>
date Fri, 10 Apr 2015 00:48:12 -0700
parents 4c669942c30d
children 06dceff348ea
comparison
equal deleted inserted replaced
346:fd4e0bf5bd9f 347:ff7ea11b4b60
117 bytes <- sz num 117 bytes <- sz num
118 buffer <- sbrk: bytes 118 buffer <- sbrk: bytes
119 mprotect: buffer bytes (PROT_READ or PROT_WRITE or PROT_EXEC) 119 mprotect: buffer bytes (PROT_READ or PROT_WRITE or PROT_EXEC)
120 self 120 self
121 } 121 }
122 llMessage: length withVars: {
123 intret <- obj_int32 ptr
124 } andCode: {
125 intret <- make_object: (addr_of: obj_int32_meta) NULL 0
126 intret num!: bytes
127 intret
128 }
122 llMessage: set withVars: { 129 llMessage: set withVars: {
123 offset <- obj_int32 ptr 130 offset <- obj_int32 ptr
124 newval <- obj_uint8 ptr 131 newval <- obj_uint8 ptr
125 } andCode: :offset newval { 132 } andCode: :offset newval {
126 (buffer castTo: (uint8_t ptr)) set: (offset num) (newval num) 133 (buffer castTo: (uint8_t ptr)) set: (offset num) (newval num)