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
parent
11ffea55fc
commit
03ebb91170
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue