2009-08-20 14:39:40 -04:00
|
|
|
! Copyright (C) 2009 Phil Dawes.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-09-27 00:14:57 -04:00
|
|
|
USING: classes.struct alien.c-types alien.syntax ;
|
2009-08-20 14:39:40 -04:00
|
|
|
IN: vm
|
|
|
|
|
2009-08-20 15:20:35 -04:00
|
|
|
TYPEDEF: void* cell
|
2009-09-27 00:14:57 -04:00
|
|
|
TYPEDEF: void* context*
|
2009-08-20 15:20:35 -04:00
|
|
|
|
2009-09-23 20:42:00 -04:00
|
|
|
STRUCT: zone
|
|
|
|
{ start cell }
|
|
|
|
{ here cell }
|
|
|
|
{ size cell }
|
|
|
|
{ end cell } ;
|
2009-08-20 15:20:35 -04:00
|
|
|
|
2009-09-23 20:42:00 -04:00
|
|
|
STRUCT: vm
|
|
|
|
{ stack_chain context* }
|
|
|
|
{ nursery zone }
|
|
|
|
{ cards_offset cell }
|
|
|
|
{ decks_offset cell }
|
|
|
|
{ userenv cell[70] } ;
|
2009-08-20 14:39:40 -04:00
|
|
|
|
2009-09-23 20:42:00 -04:00
|
|
|
: vm-field-offset ( field -- offset ) vm offset-of ; inline
|