[gwt-contrib] Change in gwt[master]: Fixes most issues with the SoyC reports.
Hello Ray Cromwell, Leeroy Jenkins, Brian Slesinsky, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/1610 to look at the new patch set (#4). Change subject: Fixes most issues with the SoyC reports. .. Fixes most issues with the SoyC reports. Applied an unsubmitted patch (http://gwt-code-reviews.appspot.com/1726803/) by Alan and added a few fixes. Will show incorrect inforamtion on atoms pulled to leftover by the latest safety check. A full refactor is needed and will be done when the new Fragment Merging strategy is implemented. Change-Id: I950ebd7b367671446e3d919a00be24d4cbf3fa88 Review-Link: https://gwt-review.googlesource.com/#/c/1610/ --- M dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java M dev/core/test/com/google/gwt/dev/jjs/impl/CodeSplitter2Test.java 2 files changed, 82 insertions(+), 30 deletions(-) -- To view, visit https://gwt-review.googlesource.com/1610 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I950ebd7b367671446e3d919a00be24d4cbf3fa88 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Ray Cromwell cromwell...@google.com Gerrit-Reviewer: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Fixes most issues with the SoyC reports.
Roberto Lublinerman has posted comments on this change. Change subject: Fixes most issues with the SoyC reports. .. Patch Set 4: Code-Review+2 Patch 3 was +2 by skybrian and this is a manual rebase due to conflicts. -- To view, visit https://gwt-review.googlesource.com/1610 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I950ebd7b367671446e3d919a00be24d4cbf3fa88 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Ray Cromwell cromwell...@google.com Gerrit-Reviewer: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Fixes most issues with the SoyC reports.
Roberto Lublinerman has submitted this change and it was merged. Change subject: Fixes most issues with the SoyC reports. .. Fixes most issues with the SoyC reports. Applied an unsubmitted patch (http://gwt-code-reviews.appspot.com/1726803/) by Alan and added a few fixes. Will show incorrect inforamtion on atoms pulled to leftover by the latest safety check. A full refactor is needed and will be done when the new Fragment Merging strategy is implemented. Change-Id: I950ebd7b367671446e3d919a00be24d4cbf3fa88 Review-Link: https://gwt-review.googlesource.com/#/c/1610/ --- M dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java M dev/core/test/com/google/gwt/dev/jjs/impl/CodeSplitter2Test.java 2 files changed, 82 insertions(+), 30 deletions(-) Approvals: Roberto Lublinerman: Looks good to me, approved Leeroy Jenkins: Verified diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java b/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java index 897464d..4b6543a 100644 --- a/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java +++ b/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter2.java @@ -90,7 +90,6 @@ * TODO(acleung): Figure out how to integrate with SOYC and dependency tracker. * TODO(acleung): Insert SpeedTracer calls at performance sensitive places. * TODO(acleung): Insert logger calls to generate meaningful logs. - * TODO(acleung): May be add back the old heuristics if needed. */ public class CodeSplitter2 { @@ -109,9 +108,6 @@ private FragmentPartitioningResult(int[] splitPointToFragmentMap, int numFragments) { this.splitPointToFragmentMap = splitPointToFragmentMap; fragmentToSplitPoint = new int[numFragments]; - for (int i = 0, len = splitPointToFragmentMap.length - 1; i len; i++) { -System.out.println(splitPointToFragmentMap[ + i + ] = + splitPointToFragmentMap[i]); - } for (int i = 1, len = splitPointToFragmentMap.length - 1; i len; i++) { if (fragmentToSplitPoint[splitPointToFragmentMap[i]] == 0) { fragmentToSplitPoint[splitPointToFragmentMap[i]] = i; @@ -310,6 +306,7 @@ return; } Event codeSplitterEvent = SpeedTracerLogger.start(CompilerEventType.CODE_SPLITTER); +dependencyRecorder.open(); new CodeSplitter2( logger, jprogram, jsprogram, map, fragmentsToMerge, dependencyRecorder, leftOverMergeLimit).execImpl(); @@ -608,8 +605,8 @@ * @param liveFromSplitPoint everything live from the split point, including leftovers * @param T the type of node (field, method, etc) in the map */ - private static T void updateReverseMap(int splitPoint, MapT, Integer map, Set? liveWithoutEntry, - IterableT all, Set? liveFromSplitPoint) { + private static T void updateReverseMap(int splitPoint, MapT, Integer map, + Set? liveWithoutEntry, IterableT all, Set? liveFromSplitPoint) { for (T each : all) { if (!liveWithoutEntry.contains(each)) { /* @@ -629,7 +626,9 @@ } ExclusivityMap fragmentMap = new ExclusivityMap(); - + + private MultipleDependencyGraphRecorder dependencyRecorder; + private final MapJField, JClassLiteral fieldToLiteralOfClass; private FragmentExtractor fragmentExtractor; @@ -683,6 +682,7 @@ this.jsprogram = jsprogram; this.splitPointsMerge = splitPointsMerge; this.leftOverMergeLimit = leftOverMergeLimit; +this.dependencyRecorder = dependencyRecorder; this.fragmentExtractor = new FragmentExtractor(jprogram, jsprogram, map); this.initialLoadSequence = new LinkedHashSetInteger(jprogram.getSplitPointInitialSequence()); @@ -819,10 +819,12 @@ private static class MergeLimitExceededException extends RuntimeException { } - private ControlFlowAnalyzer computeAllButNCfas( - ControlFlowAnalyzer liveAfterInitialSequence, ListInteger sp) { + private ControlFlowAnalyzer computeAllButNCfas(ControlFlowAnalyzer liveAfterInitialSequence, + ListInteger sp, ControlFlowAnalyzer.DependencyRecorder dependencyRecorder) { ListControlFlowAnalyzer allButOnes = new ArrayListControlFlowAnalyzer(); ControlFlowAnalyzer cfa = new ControlFlowAnalyzer(liveAfterInitialSequence); +cfa.setDependencyRecorder(dependencyRecorder); + for (JRunAsync otherRunAsync : jprogram.getRunAsyncs()) { if (isInitial(otherRunAsync.getSplitPoint())) { continue; @@ -832,6 +834,7 @@ } cfa.traverseFromRunAsync(otherRunAsync); } + return cfa; } @@ -843,25 +846,29 @@ */ private ControlFlowAnalyzer computeAllLiveFromSplitPoints( ControlFlowAnalyzer liveAfterInitialSequence, ListInteger splitPoints) { - ControlFlowAnalyzer cfa = new ControlFlowAnalyzer(liveAfterInitialSequence); - for (JRunAsync otherRunAsync : jprogram.getRunAsyncs()) { -
[gwt-contrib] Change in gwt[master]: Fixes most issues with the SoyC reports. Applied an unsubmit...
Brian Slesinsky has posted comments on this change. Change subject: Fixes most issues with the SoyC reports. Applied an unsubmitted patch (http://gwt-code-reviews.appspot.com/1726803/) by Alan and added a few fixes. This is a somewhat ugly fix. A full refactor wll be done when the new Fragment Merging strategy is impl .. Patch Set 3: Code-Review+2 I don't fully understand this code but it seems reasonable. -- To view, visit https://gwt-review.googlesource.com/1610 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I950ebd7b367671446e3d919a00be24d4cbf3fa88 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Ray Cromwell cromwell...@google.com Gerrit-Reviewer: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Fixes most issues with the SoyC reports. Applied an unsubmit...
Roberto Lublinerman has posted comments on this change. Change subject: Fixes most issues with the SoyC reports. Applied an unsubmitted patch (http://gwt-code-reviews.appspot.com/1726803/) by Alan and added a few fixes. This is a somewhat ugly fix. A full refactor wll be done when the new Fragment Merging strategy is impl .. Patch Set 3: I know this is not the perfect solution (some atoms that appear to be in a fragment will actually be in the leftovers) but doesn't it still improve the status quo? -- To view, visit https://gwt-review.googlesource.com/1610 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I950ebd7b367671446e3d919a00be24d4cbf3fa88 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Ray Cromwell cromwell...@google.com Gerrit-Reviewer: Roberto Lublinerman rlu...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups Google Web Toolkit Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.