VM: instead of enqueue_safepoint() just call set_safepoint_guard() directly

db4
Björn Lindqvist 2015-08-26 16:56:55 +02:00
parent 5a39631b4b
commit 316b16f377
2 changed files with 2 additions and 7 deletions

View File

@ -2,15 +2,11 @@
namespace factor {
void safepoint_state::enqueue_safepoint(factor_vm* parent) volatile {
parent->code->set_safepoint_guard(true);
}
void safepoint_state::enqueue_fep(factor_vm* parent) volatile {
if (parent->fep_p)
fatal_error("Low-level debugger interrupted", 0);
atomic::store(&fep_p, true);
enqueue_safepoint(parent);
parent->code->set_safepoint_guard(true);
}
void safepoint_state::enqueue_samples(factor_vm* parent,
@ -32,7 +28,7 @@ void safepoint_state::enqueue_samples(factor_vm* parent,
if (!parent->code->seg->in_segment_p(pc))
atomic::fetch_add(&sample_counts.foreign_sample_count, samples);
}
enqueue_safepoint(parent);
parent->code->set_safepoint_guard(true);
}
void safepoint_state::handle_safepoint(factor_vm* parent, cell pc) volatile {

View File

@ -8,7 +8,6 @@ struct safepoint_state {
void handle_safepoint(factor_vm* parent, cell pc) volatile;
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;