Mercurial > repos > tabletprog
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) |