vm: don't need to save/restore FPU state when doing GC anymore, since we don't call nano_count() unless GC events are being recorded. If you want to record GC events with FP traps on, you're out of luck
parent
2498a4d881
commit
ecb9ce4fc9
|
@ -145,11 +145,6 @@ void factor_vm::set_current_gc_op(gc_op op)
|
||||||
|
|
||||||
void factor_vm::gc(gc_op op, cell requested_bytes, bool trace_contexts_p)
|
void factor_vm::gc(gc_op op, cell requested_bytes, bool trace_contexts_p)
|
||||||
{
|
{
|
||||||
/* Save and reset FPU state before, restore it after, so that
|
|
||||||
nano_count() doesn't bomb on Windows if inexact traps are enabled
|
|
||||||
(fun huh?) */
|
|
||||||
cell fpu_state = get_fpu_state();
|
|
||||||
|
|
||||||
assert(!gc_off);
|
assert(!gc_off);
|
||||||
assert(!current_gc);
|
assert(!current_gc);
|
||||||
|
|
||||||
|
@ -212,8 +207,6 @@ void factor_vm::gc(gc_op op, cell requested_bytes, bool trace_contexts_p)
|
||||||
|
|
||||||
delete current_gc;
|
delete current_gc;
|
||||||
current_gc = NULL;
|
current_gc = NULL;
|
||||||
|
|
||||||
set_fpu_state(fpu_state);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* primitive_minor_gc() is invoked by inline GC checks, and it needs to fill in
|
/* primitive_minor_gc() is invoked by inline GC checks, and it needs to fill in
|
||||||
|
|
Loading…
Reference in New Issue