Ignore:
Timestamp:
Jul 18, 2018, 5:18:29 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env
Children:
eff03a94
Parents:
5c14030
Message:

Fix assorted memory bugs with persistent-array environment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PersistentMap.h

    r5c14030 rd318a18  
    141141                                        gc.maybe_trace( entry.first, entry.second );
    142142                                }
    143                                 return;
    144                         }
     143                        } break;
    145144                        case REM: {
    146145                                const Rem& self = as<Rem>();
    147146                                gc << self.base;
    148147                                gc.maybe_trace( self.key );
    149                                 return;
    150                         }
     148                        } break;
    151149                        case INS: case UPD: {
    152150                                const Ins& self = as<Ins>();
    153151                                gc << self.base;
    154152                                gc.maybe_trace( self.key, self.val );
    155                                 return;
    156                         }
     153                        } break;
    157154                        default: assertf(false, "invalid mode");
    158155                }
     
    198195
    199196                                base_map.erase( it );
    200                                 break;
    201                         }
     197                        } break;
    202198                        case INS: {
    203199                                Ins& self = mut_this->as<Ins>();
     
    207203
    208204                                base_map.emplace( std::move(self.key), std::move(self.val) );
    209                                 break;
    210                         }
     205                        } break;
    211206                        case UPD: {
    212207                                Ins& self = mut_this->as<Ins>();
     
    218213
    219214                                it->second = std::move(self.val);
    220                                 break;
    221                         }
     215                        } break;
    222216                        default: assertf(false, "invalid mode");
    223217                }
Note: See TracChangeset for help on using the changeset viewer.