2009-05-04 02:46:13 -04:00
|
|
|
namespace factor
|
|
|
|
{
|
|
|
|
|
2009-09-25 22:17:20 -04:00
|
|
|
inline cell align_page(cell a)
|
|
|
|
{
|
|
|
|
return align(a,getpagesize());
|
|
|
|
}
|
|
|
|
|
|
|
|
/* segments set up guard pages to check for under/overflow.
|
|
|
|
size must be a multiple of the page size */
|
2009-05-04 05:50:24 -04:00
|
|
|
struct segment {
|
2009-09-25 22:17:20 -04:00
|
|
|
factor_vm *myvm;
|
2009-05-04 05:50:24 -04:00
|
|
|
cell start;
|
|
|
|
cell size;
|
|
|
|
cell end;
|
2009-09-25 22:17:20 -04:00
|
|
|
|
2009-10-03 09:47:05 -04:00
|
|
|
explicit segment(factor_vm *myvm, cell size);
|
2009-09-25 22:17:20 -04:00
|
|
|
~segment();
|
2009-05-04 02:00:30 -04:00
|
|
|
};
|
2009-05-04 02:46:13 -04:00
|
|
|
|
|
|
|
}
|