-
-
Notifications
You must be signed in to change notification settings - Fork 925
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 80d9f19c3e03
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6568e11b7c7f
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 3 commits
- 7 files changed
- 1 contributor
Commits on Jul 28, 2015
-
Configuration menu - View commit details
-
Copy full SHA for 503edc8 - Browse repository at this point
Copy the full SHA 503edc8View commit details -
Move liveness tests out of DCE transform into LVA computation
DCE used to do additional tests to decide if an instruction can be deleted based on the scope's state. This is a no-no. DCE should not do any additional tests about deletability based on scope state (which was in reality liveness tests) -- it should simply use whatever info is produced by LVA. Those tests should have been part of LVA instead. This really didn't affect correctness of DCE, but it would be providing incorrect information about vars still live when the scope was exited. Specifically, AddLocalVarLoadStoreInstructions pass uses that LVA information to determine whether to add lvar stores on exit. Without accurate LVA information, this can inadvertently prevent lvar updates from being seen outside the scope. This is part 1 of the fix for #3173.
Configuration menu - View commit details
-
Copy full SHA for d59eeec - Browse repository at this point
Copy the full SHA d59eeecView commit details -
Fixes to AddLocalVarLoadStoreInstructions pass
The following fixes were made: 1. Same kind of fix as in d59eeec but applied to this pass. The actual addition of binding stores shouldn't do additional analysis not already present in the dataflow analysis. It should simply use information from that analysis and add stores, where required. 2. A specific outcome of 1. above is: the addition should not look at scope type while adding stores on exit. If the analysis says: "add a store", add a store. No need to do it for closures only. 3. There was a subtle bug in the code. For exit BBs, we were intersecting lvars that were dirtied with lvars that were live at that point. However, we were looking for 'varsLiveOnExit' which was erroneous. LVA is a backwards propagation problem and we should be looking at 'varsLiveOnEntry' (since the exit of the scope corresponds to the dataflow entry for LVA). Between these fixes and the fix in 8c48c3bc, #3173 should be solved.
Configuration menu - View commit details
-
Copy full SHA for 6568e11 - Browse repository at this point
Copy the full SHA 6568e11View commit details
There are no files selected for viewing