JitCache: Support for VMEM + MSR bits #4095
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is mostly a split of PR #1882 and a recreation of PR #4004. Only the last commit is touched at all.
This PR applies the JitCache changes required for dynamic bats:
It creates a second level cache based on the physical memory address to handle memory mirroring in an accurate way.
With this second level cache, we're able to use a bigger state as index. Here MSR.DR and MSR.IR are used. So address translation is known at compile time. This will be used later.
It also implements block unlinking. If a block is unlinked now, it is assured that we won't call this block any more. This is checked by INT3() within the jit64.
This change is![Reviewable](https://camo.githubusercontent.com/23b05f5fb48215c989e92cc44cf6512512d083132bd3daf689867c8d9d386888/68747470733a2f2f72657669657761626c652e696f2f7265766965775f627574746f6e2e737667)