Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3208)

Issue 6561045: Upgrade ASM to v4, and use a CFG to correctly generate bytecode for try-catch blocks.

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 7 months ago by shashankb
Modified:
5 months, 2 weeks ago
Reviewers:
Visibility:
Public.

Description

ASM4 is more strict about having all the try-catch blocks defined before their labels are visited; this means that the try-catch blocks should be generated (typically) as the first statement(s) in a (generated) method. I do this work in 2 passes: - IRBuilder: builds an IR and adds edges between nodes of a try-catch block. - StampTryCatch: Looks at the edges inserted in the previous pass and generates TryCatchBlock nodes and inserts them at the start of each new scope.

Patch Set 1 #

Patch Set 2 : A little formatting #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2058 lines, -333 lines) Patch
M .classpath View 1 chunk +2 lines, -2 lines 0 comments Download
M .hgignore View 1 chunk +2 lines, -0 lines 0 comments Download
M .project View 1 chunk +6 lines, -0 lines 0 comments Download
M build.xml View 1 chunk +1 line, -0 lines 0 comments Download
A extlibs/asm-all-4.0.jar View Binary file 0 comments Download
A src/org/python/antlr/ast/ExceptionRangeStart.java View 1 chunk +51 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/ExceptionRangeStop.java View 1 chunk +51 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/FinallyStart.java View 1 chunk +32 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/HandlerStart.java View 1 chunk +53 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/TryCatchBlock.java View 1 chunk +43 lines, -0 lines 0 comments Download
M src/org/python/antlr/ast/VisitorBase.java View 1 chunk +58 lines, -0 lines 0 comments Download
M src/org/python/antlr/ast/VisitorIF.java View 1 chunk +10 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/WithExit.java View 1 1 chunk +46 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/WithSpecialLoad.java View 1 1 chunk +43 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/YieldInput.java View 1 1 chunk +25 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/YieldRestoreLocals.java View 1 1 chunk +25 lines, -0 lines 0 comments Download
A src/org/python/antlr/ast/YieldReturn.java View 1 1 chunk +45 lines, -0 lines 0 comments Download
M src/org/python/compiler/Code.java View 2 chunks +5 lines, -1 line 0 comments Download
M src/org/python/compiler/CodeCompiler.java View 1 28 chunks +160 lines, -316 lines 0 comments Download
M src/org/python/compiler/Future.java View 2 chunks +11 lines, -5 lines 0 comments Download
A src/org/python/compiler/JDK7Compiler.java View 1 chunk +38 lines, -0 lines 0 comments Download
M src/org/python/compiler/LegacyCompiler.java View 1 chunk +1 line, -1 line 0 comments Download
M src/org/python/compiler/ScopesCompiler.java View 5 chunks +14 lines, -2 lines 0 comments Download
A src/org/python/compiler/cfg/Edge.java View 1 chunk +58 lines, -0 lines 0 comments Download
A src/org/python/compiler/cfg/IRBuilder.java View 1 chunk +403 lines, -0 lines 0 comments Download
A src/org/python/compiler/cfg/IRPrinter.java View 1 chunk +76 lines, -0 lines 0 comments Download
A src/org/python/compiler/cfg/ScopedVisitor.java View 1 chunk +43 lines, -0 lines 0 comments Download
A src/org/python/compiler/cfg/StampTryCatch.java View 1 chunk +69 lines, -0 lines 0 comments Download
A src/org/python/compiler/cfg/TransitiveVisitor.java View 1 chunk +659 lines, -0 lines 0 comments Download
M src/org/python/core/CompilerFacade.java View 3 chunks +21 lines, -4 lines 0 comments Download
M src/org/python/core/ContextGuard.java View 1 chunk +1 line, -1 line 0 comments Download
M src/org/python/core/imp.java View 1 chunk +1 line, -1 line 0 comments Download
A tmp/test.py View 1 chunk +5 lines, -0 lines 0 comments Download

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b