1 ! Copyright (C) 2009, 2010 Phil Dawes, Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: classes.struct alien.c-types alien.syntax ;
6 TYPEDEF: uintptr_t cell
9 { callstack-top void* }
10 { callstack-bottom void* }
13 { callstack-save cell }
14 { datastack-region void* }
15 { retainstack-region void* }
16 { callstack-region void* }
17 { context-objects cell[10] } ;
19 : context-field-offset ( field -- offset ) context offset-of ; inline
29 { spare-ctx context* }
33 { special-objects cell[70] } ;
35 : vm-field-offset ( field -- offset ) vm offset-of ; inline
43 collect-growing-heap-op ;
50 STRUCT: mark-sweep-sizes
54 { contiguous-free cell }
55 { free-block-count cell } ;
57 STRUCT: data-heap-room
58 { nursery copying-sizes }
59 { aging copying-sizes }
60 { tenured mark-sweep-sizes }
67 { data-heap-before data-heap-room }
68 { code-heap-before mark-sweep-sizes }
69 { data-heap-after data-heap-room }
70 { code-heap-after mark-sweep-sizes }
71 { cards-scanned cell }
72 { decks-scanned cell }
73 { code-blocks-scanned cell }
74 { start-time ulonglong }
76 { card-scan-time cell }
77 { code-scan-time cell }
78 { data-sweep-time cell }
79 { code-sweep-time cell }
80 { compaction-time cell }
81 { temp-time ulonglong } ;
83 STRUCT: dispatch-statistics
84 { megamorphic-cache-hits cell }
85 { megamorphic-cache-misses cell }
87 { cold-call-to-ic-transitions cell }
88 { ic-to-pic-transitions cell }
89 { pic-to-mega-transitions cell }
91 { pic-tag-count cell }
92 { pic-tuple-count cell } ;