Changes between Version 6 and Version 7 of Commentary/Rts/HeapObjects
- Timestamp:
- 09/07/06 03:14:26 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Commentary/Rts/HeapObjects
v6 v7 17 17 18 18 Unboxed tuples {{{(#...#)}}} are both unlifted and unboxed. They are represented by multiple values passed in registers or on the stack, according to the [wiki:Commentary/Rts/HaskellExecution return convention]. 19 20 ----------- 19 21 20 22 == Heap Objects == … … 46 48 need to. 47 49 50 ----------- 51 48 52 == Info Tables == 49 53 … … 88 92 When {{{TABLES_NEXT_TO_CODE}}} is off, info tables get another field, {{{entry}}}, which points to the entry code. In a generated object file, each symbol {{{X_info}}} representing an info table will have an associated symbol {{{X_entry}}} pointing to the entry code (in {{{TABLES_NEXT_TO_CODE}}}, the entry symbol is omitted to keep the size of symbol tables down). 89 93 94 ----------- 95 90 96 == Dynamic vs. Static objects == 91 97 … … 120 126 variant. To access the static link field of a closure, use the 121 127 {{{STATIC_LINK()}}} macro from [[GhcFile(includes/ClosureMacros.h)]]. 128 129 ----------- 122 130 123 131 == Types of object == … … 394 402 which points to the new location of the object. 395 403 396 == The stack, and stack objects ==397 398 === Return addresses ===399 400 {{{RET_BCO}}},401 {{{RET_SMALL}}},402 {{{RET_VEC_SMALL}}},403 {{{RET_BIG}}},404 {{{RET_VEC_BIG}}},405 {{{RET_DYN}}},406 {{{RET_FUN}}},407 {{{UPDATE_FRAME}}},408 {{{CATCH_FRAME}}},409 {{{STOP_FRAME}}},410 {{{ATOMICALLY_FRAME}}},411 {{{CATCH_RETRY_FRAME}}},412 {{{CATCH_STM_FRAME}}}413 414 404 == Objects for PAR, GRAN == 415 405
