Skip to content

Commit

Permalink
Complete rewrite of LinkedFlowScope to use PersistentMap.
Browse files Browse the repository at this point in the history
The new version is comparable in overall performance (inferSlotType() is about 3x slower, but getSlot(), equals(), and JoinOp are all about 3x faster), but is much cleaner and easier to reason about.  There is no longer a separate cache, so there's no longer any need for duplicated logic between the linked list and the cache.  Moreover, with the nested maps, it's now trivial to remove inner block scopes when they are exited, or qualified names when their receivers should be invalidated (see #2854).

Closes github.com//issues/2904.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=196881033
  • Loading branch information
shicks authored and blickly committed May 17, 2018
1 parent 17324d3 commit ea14962
Show file tree
Hide file tree
Showing 2 changed files with 197 additions and 313 deletions.

0 comments on commit ea14962

Please sign in to comment.