summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2021-09-24 16:46:56 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-10-12 01:40:29 -0400
commit2e0c13ab50b28d3e2ad5bfeed2b6651096921c9d (patch)
tree80e43098127fd0180f7e9ae99de8959002182619
parent2c02ea8dc33fe008675b1c0629c0ffb0e8ca4482 (diff)
downloadhaskell-2e0c13ab50b28d3e2ad5bfeed2b6651096921c9d.tar.gz
rts/nonmoving: Enable selector optimisation by default
-rw-r--r--rts/RtsFlags.c5
-rw-r--r--rts/include/rts/Flags.h2
-rw-r--r--rts/sm/NonMovingMark.c6
3 files changed, 1 insertions, 12 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index 778f49c13b..a775e2986a 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -166,7 +166,6 @@ void initRtsFlagsDefaults(void)
RtsFlags.GcFlags.oldGenFactor = 2;
RtsFlags.GcFlags.returnDecayFactor = 4;
RtsFlags.GcFlags.useNonmoving = false;
- RtsFlags.GcFlags.nonmovingSelectorOpt = false;
RtsFlags.GcFlags.generations = 2;
RtsFlags.GcFlags.squeezeUpdFrames = true;
RtsFlags.GcFlags.compact = false;
@@ -1711,10 +1710,6 @@ error = true;
OPTION_SAFE;
RtsFlags.GcFlags.useNonmoving = true;
unchecked_arg_start++;
- if (rts_argv[arg][3] == 's') {
- RtsFlags.GcFlags.nonmovingSelectorOpt = true;
- unchecked_arg_start++;
- }
break;
case 'c': /* Debugging tool: show current cost centre on
diff --git a/rts/include/rts/Flags.h b/rts/include/rts/Flags.h
index 11e7bfdaa7..e8298023de 100644
--- a/rts/include/rts/Flags.h
+++ b/rts/include/rts/Flags.h
@@ -54,8 +54,6 @@ typedef struct _GC_FLAGS {
double pcFreeHeap;
bool useNonmoving; // default = false
- bool nonmovingSelectorOpt; // Do selector optimization in the
- // non-moving heap, default = false
uint32_t generations;
bool squeezeUpdFrames;
diff --git a/rts/sm/NonMovingMark.c b/rts/sm/NonMovingMark.c
index 1fc292769d..2fd85dc4f0 100644
--- a/rts/sm/NonMovingMark.c
+++ b/rts/sm/NonMovingMark.c
@@ -1522,11 +1522,7 @@ mark_closure (MarkQueue *queue, const StgClosure *p0, StgClosure **origin)
}
case THUNK_SELECTOR:
- if (RtsFlags.GcFlags.nonmovingSelectorOpt) {
- nonmoving_eval_thunk_selector(queue, (StgSelector*)p, origin);
- } else {
- PUSH_FIELD((StgSelector *) p, selectee);
- }
+ nonmoving_eval_thunk_selector(queue, (StgSelector*)p, origin);
break;
case AP_STACK: {