@@ -308,7 +308,7 @@ class Evaluator {
308
308
typename std::enable_if<!Request::hasExternalCache>::type* = nullptr >
309
309
void cacheOutput (const Request &request,
310
310
typename Request::OutputType &&output) {
311
- cache.insert ({getCanonicalRequest (request), std::move (output)});
311
+ cache.insert ({AnyRequest (request), std::move (output)});
312
312
}
313
313
314
314
// / Clear the cache stored within this evaluator.
@@ -324,17 +324,6 @@ class Evaluator {
324
324
}
325
325
326
326
private:
327
- template <typename Request>
328
- const AnyRequest &getCanonicalRequest (const Request &request) {
329
- // FIXME: DenseMap ought to let us do this with one hash lookup.
330
- auto iter = dependencies.find_as (request);
331
- if (iter != dependencies.end ())
332
- return iter->first ;
333
- auto insertResult = dependencies.insert ({AnyRequest (request), {}});
334
- assert (insertResult.second && " just checked if the key was already there" );
335
- return insertResult.first ->first ;
336
- }
337
-
338
327
// / Diagnose a cycle detected in the evaluation of the given
339
328
// / request.
340
329
void diagnoseCycle (const ActiveRequest &request);
@@ -423,7 +412,7 @@ class Evaluator {
423
412
return result;
424
413
425
414
// Cache the result.
426
- cache.insert ({getCanonicalRequest (request), *result});
415
+ cache.insert ({AnyRequest (request), *result});
427
416
return result;
428
417
}
429
418
0 commit comments