vm: remove signal_from_leaf flag

Now that the resuming from the signal handler works within leaf procedures, the flag is no longer necessary.
db4
Joe Groff 2011-10-26 15:08:27 -07:00
parent 11ffea55fc
commit 03ebb91170
3 changed files with 0 additions and 7 deletions

View File

@ -89,15 +89,12 @@ void factor_vm::dispatch_signal_handler(cell *sp, cell *pc, cell handler)
of assuming the stack pointer is the right place to put the resume address. */ of assuming the stack pointer is the right place to put the resume address. */
if (offset == 0) if (offset == 0)
{ {
signal_from_leaf = false; // XXX remove this once we're sure leaf works
cell newsp = *sp - sizeof(cell); cell newsp = *sp - sizeof(cell);
*sp = newsp; *sp = newsp;
*(cell*)newsp = *pc; *(cell*)newsp = *pc;
} }
else if (offset == 16 - sizeof(cell)) else if (offset == 16 - sizeof(cell))
{ {
signal_from_leaf = true; // XXX remove this once we're sure leaf works
// Make a fake frame for the leaf procedure // Make a fake frame for the leaf procedure
cell leaf_word = find_entry_point_for_address(this, *pc); cell leaf_word = find_entry_point_for_address(this, *pc);

View File

@ -185,9 +185,6 @@ void factor_vm::enqueue_safepoint_sample()
void factor_vm::handle_safepoint() void factor_vm::handle_safepoint()
{ {
if (signal_from_leaf)
std::cout << "XXX SIGNALED FROM LEAF\n";
code->unguard_safepoint(); code->unguard_safepoint();
if (safepoint_fep) { if (safepoint_fep) {
std::cout << "Interrupted\n"; std::cout << "Interrupted\n";

View File

@ -68,7 +68,6 @@ struct factor_vm
/* Global variables used to pass fault handler state from signal handler /* Global variables used to pass fault handler state from signal handler
to VM */ to VM */
bool signal_resumable; bool signal_resumable;
bool signal_from_leaf; // XXX remove this once we're sure leaf works
cell signal_number; cell signal_number;
cell signal_fault_addr; cell signal_fault_addr;
unsigned int signal_fpu_status; unsigned int signal_fpu_status;