Revert "XXX: Disable selector optimization and shortcutting"
authorBen Gamari <ben@smart-cactus.org>
Tue, 21 May 2019 02:12:51 +0000 (22:12 -0400)
committerBen Gamari <ben@smart-cactus.org>
Wed, 19 Jun 2019 01:44:01 +0000 (21:44 -0400)
This reverts commit e1df1b1e24c66fc9e391dfa275ec2e0332b698ac.

rts/sm/Evac.c

index c55e376..f790cbc 100644 (file)
@@ -816,9 +816,6 @@ loop:
       StgClosure *r;
       const StgInfoTable *i;
       r = ((StgInd*)q)->indirectee;
-      // XXX: disable shortcutting
-      copy(p,info,q,sizeofW(StgInd),gen_no);
-      return;
       if (GET_CLOSURE_TAG(r) == 0) {
           i = r->header.info;
           if (IS_FORWARDING_PTR(i)) {
@@ -873,8 +870,6 @@ loop:
       return;
 
   case IND:
-    // XXX: disable shortcutting
-    copy(p,info,q,sizeofW(StgInd),gen_no);
     // follow chains of indirections, don't evacuate them
     q = ((StgInd*)q)->indirectee;
     *p = q;
@@ -1242,9 +1237,6 @@ selector_loop:
         goto bale_out;
     }
 
-    // XXX: Disable selector optimization
-    goto bale_out;
-
     info = INFO_PTR_TO_STRUCT(info);
     switch (info->type) {
       case WHITEHOLE: