Reviewers: Mads Ager, Kevin Millikin,
Description:
Fast compiler: Load globals variables directly from property cells.
This is a first step towards loading globals directly from property cells
instead
of going through a load IC.
This change supports only properties with the DontDelete attribute since
we are only able to bailout into the generic code generated by the secondary
code generator the beginning of a function. The resulting fast-case code is
specialized for a specific context. When invoked with a different global
object,
it will always bailout to the secondary code.
When loading a property that does not exist at compile-time or a property
that is deleteable we still generate the generic load IC.
Please review this at http://codereview.chromium.org/565034
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/arm/codegen-arm.h
M src/arm/fast-codegen-arm.cc
M src/arm/ic-arm.cc
M src/compiler.h
M src/compiler.cc
M src/data-flow.h
M src/data-flow.cc
M src/fast-codegen.h
M src/fast-codegen.cc
M src/handles.h
M src/handles.cc
M src/ia32/codegen-ia32.h
M src/ia32/fast-codegen-ia32.cc
M src/ia32/ic-ia32.cc
M src/ic.cc
M src/runtime.cc
M src/x64/codegen-x64.h
M src/x64/fast-codegen-x64.cc
M src/x64/ic-x64.cc
A test/mjsunit/compiler/simple-global-access.js
M test/mjsunit/typeof.js
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev