2013-05-11 22:27:37 -04:00
|
|
|
namespace factor {
|
2011-11-07 15:51:49 -05:00
|
|
|
|
2013-05-11 22:27:37 -04:00
|
|
|
struct safepoint_state {
|
|
|
|
cell fep_p;
|
|
|
|
profiling_sample_count sample_counts;
|
2011-11-07 15:51:49 -05:00
|
|
|
|
2013-05-11 22:27:37 -04:00
|
|
|
safepoint_state() : fep_p(false), sample_counts() {}
|
2011-11-07 15:51:49 -05:00
|
|
|
|
2013-05-11 22:27:37 -04:00
|
|
|
void handle_safepoint(factor_vm* parent, cell pc) volatile;
|
2011-11-07 15:51:49 -05:00
|
|
|
|
2013-05-11 22:27:37 -04:00
|
|
|
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
|
|
|
};
|
|
|
|
|
|
|
|
}
|