Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Issue 7523027: Provisional implementation of stack allocated catch variables.

Created:
9 years, 4 months ago by Steven
Modified:
9 years, 4 months ago
CC:
v8-dev
Visibility:
Public.

Description

Provisional implementation of stack allocated catch variables. PTAL. This is not commit ready yet. Overview of the CL: - Scopes and ScopeInfos have an additional property num_stack_allocs that represents the number of stack allocated variables from the current scope and nested catch scopes. - In FullCodeGenerator::VisitTryCatchStatement checks the scope information to see if the catch variable must be heap allocated. Only in that case a context is pushed onto the context chain. - New ExitScopedBlockStatement. Removes the last context from the context chain iff the corresponding scope has heap allocated variables. - Unfortunately there's a new WITH_SCOPE type. - The SerializedScopeInfos are now used for with and catch scopes as well. For each function scope the SerializedScopeInfo stores the local scope tree of the function, i.e. it stores links to with and catch scopes, but not to inner function scopes. - SerializedScopeInfo contains start and end source positions for scopes. - The statement position information stored in the serialized scope tree is used to recreate the original scope chain.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+651 lines, -120 lines) Patch
M src/ast.h View 3 chunks +29 lines, -0 lines 0 comments Download
M src/ast.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M src/ast-inl.h View 1 chunk +3 lines, -1 line 0 comments Download
M src/frames.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M src/full-codegen.cc View 3 chunks +26 lines, -2 lines 0 comments Download
M src/hydrogen.cc View 2 chunks +10 lines, -1 line 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/parser.cc View 4 chunks +19 lines, -1 line 0 comments Download
M src/prettyprinter.cc View 3 chunks +17 lines, -0 lines 0 comments Download
M src/rewriter.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime.cc View 7 chunks +163 lines, -50 lines 0 comments Download
M src/scopeinfo.h View 6 chunks +46 lines, -0 lines 0 comments Download
M src/scopeinfo.cc View 17 chunks +163 lines, -18 lines 0 comments Download
M src/scopes.h View 6 chunks +36 lines, -6 lines 0 comments Download
M src/scopes.cc View 10 chunks +62 lines, -38 lines 0 comments Download
M src/v8globals.h View 1 chunk +2 lines, -0 lines 0 comments Download
A test/mjsunit/scope-calls-eval.js View 1 chunk +65 lines, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
Steven
9 years, 4 months ago (2011-07-28 11:50:02 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698