| 1245 | |
| 1246 | |
| 1247 | class Map(HeapObject): |
| 1248 | def Decode(self, offset, size, value): |
| 1249 | return (value >> offset) & ((1 << size) - 1) |
| 1250 | |
| 1251 | # Instance Sizes |
| 1252 | def InstanceSizesOffset(self): |
| 1253 | return self.heap.TaggedPointerSize() |
| 1254 | |
| 1255 | def InstanceSizeOffset(self): |
| 1256 | return self.InstanceSizesOffset() |
| 1257 | |
| 1258 | def InObjectProperties(self): |
| 1259 | return self.InstanceSizeOffset() + 1 |
| 1260 | |
| 1261 | def UnusedByte(self): |
| 1262 | return self.InObjectProperties() + 1 |
| 1263 | |
| 1264 | def VisitorId(self): |
| 1265 | return self.UnusedByte() + 1 |
| 1266 | |
| 1267 | # Instance Attributes |
| 1268 | def InstanceAttributesOffset(self): |
| 1269 | return self.InstanceSizesOffset() + self.heap.IntSize() |
| 1270 | |
| 1271 | def InstanceTypeOffset(self): |
| 1272 | return self.InstanceAttributesOffset() |
| 1273 | |
| 1274 | def BitFieldOffset(self): |
| 1275 | return self.InstanceTypeOffset() + 1 |
| 1276 | |
| 1277 | def BitField2Offset(self): |
| 1278 | return self.BitFieldOffset() + 1 |
| 1279 | |
| 1280 | def UnusedPropertyFieldsOffset(self): |
| 1281 | return self.BitField2Offset() + 1 |
| 1282 | |
| 1283 | # Other fields |
| 1284 | def BitField3Offset(self): |
| 1285 | return self.InstanceAttributesOffset() + self.heap.IntSize() |
| 1286 | |
| 1287 | def PrototypeOffset(self): |
| 1288 | return self.BitField3Offset() + self.heap.TaggedPointerSize() |
| 1289 | |
| 1290 | def ConstructorOrBackPointerOffset(self): |
| 1291 | return self.PrototypeOffset() + self.heap.TaggedPointerSize() |
| 1292 | |
| 1293 | def TransitionsOrPrototypeInfoOffset(self): |
| 1294 | return self.ConstructorOrBackPointerOffset() + self.heap.TaggedPointerSize() |
| 1295 | |
| 1296 | def DescriptorsOffset(self): |
| 1297 | return (self.TransitionsOrPrototypeInfoOffset() + |
| 1298 | self.heap.TaggedPointerSize()) |
| 1299 | |
| 1300 | def CodeCacheOffset(self): |
| 1301 | return self.DescriptorsOffset() + self.heap.TaggedPointerSize() |
| 1302 | |
| 1303 | def DependentCodeOffset(self): |
| 1304 | return self.CodeCacheOffset() + self.heap.TaggedPointerSize() |
no outgoing calls
no test coverage detected