Reviewers: fschneider,

Message:
The change is so big because I discovered when making it that we used the outer
function's CompilationInfo during inlining.  I made the CompilationInfo
function-specific.

It didn't make sense to keep it in the graph (because a graph doesn't correspond
to a single CompilationInfo), so I moved it out.  The result is that it gets
passed in to a lot more places.

I plan to clean all that up next, by inspecting all the uses of CompilationInfo
to make sure they intend to refer to the outermost function.

Description:
Refactor polymorphic load and inline function graph construction.

Change the way we construct the graph for polymorphic loads to match that of
polymorphic stores.

Introduce a stack-allocated helper for saving and restoring all the
function-specific graph builder state that needs to change when we begin
translating an inlined function.  Make this class authoritative by moving
redundant state out of the builder and deferring to the current function's
state.

Ensure that we always print a tracing message when abandoning an inlining
attempt.

Please review this at http://codereview.chromium.org/6628012/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/arm/lithium-arm.h
  M src/arm/lithium-arm.cc
  M src/arm/lithium-codegen-arm.h
  M src/arm/lithium-codegen-arm.cc
  M src/compiler.cc
  M src/hydrogen.h
  M src/hydrogen.cc
  M src/ia32/lithium-codegen-ia32.h
  M src/ia32/lithium-codegen-ia32.cc
  M src/ia32/lithium-ia32.h
  M src/ia32/lithium-ia32.cc
  M src/lithium-allocator.cc
  M src/x64/lithium-codegen-x64.h
  M src/x64/lithium-codegen-x64.cc
  M src/x64/lithium-x64.h
  M src/x64/lithium-x64.cc


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to