2011-11-07 15:51:49 -05:00
|
|
|
namespace factor
|
|
|
|
{
|
|
|
|
|
|
|
|
struct safepoint_state
|
|
|
|
{
|
|
|
|
cell fep_p;
|
|
|
|
profiling_sample_count sample_counts;
|
|
|
|
|
2011-11-08 14:06:00 -05:00
|
|
|
safepoint_state() :
|
2011-11-07 15:51:49 -05:00
|
|
|
fep_p(false),
|
|
|
|
sample_counts()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2011-11-17 20:13:59 -05:00
|
|
|
void handle_safepoint(factor_vm *parent, cell pc) volatile;
|
2011-11-07 15:51:49 -05:00
|
|
|
|
2011-11-08 14:06:00 -05:00
|
|
|
void enqueue_safepoint(factor_vm *parent) volatile;
|
|
|
|
void enqueue_samples(factor_vm *parent, cell samples, cell pc, bool foreign_thread_p) volatile;
|
|
|
|
void enqueue_fep(factor_vm *parent) volatile;
|
2011-11-07 15:51:49 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|