Commit bbef8af1 authored by verwaest@chromium.org's avatar verwaest@chromium.org

Use the HandlerFrontendHeader in most call compilers.

R=ishell@chromium.org

Review URL: https://chromiumcodereview.appspot.com/83753002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 0e95ffdd
This diff is collapsed.
This diff is collapsed.
...@@ -1126,6 +1126,12 @@ void StubCompiler::LookupPostInterceptor(Handle<JSObject> holder, ...@@ -1126,6 +1126,12 @@ void StubCompiler::LookupPostInterceptor(Handle<JSObject> holder,
#define __ ACCESS_MASM(masm()) #define __ ACCESS_MASM(masm())
void CallStubCompiler::HandlerFrontendFooter(Label* miss) {
__ bind(miss);
GenerateMissBranch();
}
Register LoadStubCompiler::HandlerFrontendHeader( Register LoadStubCompiler::HandlerFrontendHeader(
Handle<Type> type, Handle<Type> type,
Register object_reg, Register object_reg,
......
...@@ -906,10 +906,17 @@ class CallStubCompiler: public StubCompiler { ...@@ -906,10 +906,17 @@ class CallStubCompiler: public StubCompiler {
PropertyIndex index, PropertyIndex index,
Handle<Name> name); Handle<Name> name);
void CompileHandlerFrontend(Handle<Object> object, // Patch the global proxy over the global object if the global object is the
Handle<JSObject> holder, // receiver.
Handle<Name> name, void PatchGlobalProxy(Handle<Object> object);
CheckType check);
// Returns the register containing the holder of |name|.
Register HandlerFrontendHeader(Handle<Object> object,
Handle<JSObject> holder,
Handle<Name> name,
CheckType check,
Label* miss);
void HandlerFrontendFooter(Label* miss);
void CompileHandlerBackend(Handle<JSFunction> function); void CompileHandlerBackend(Handle<JSFunction> function);
...@@ -967,11 +974,6 @@ class CallStubCompiler: public StubCompiler { ...@@ -967,11 +974,6 @@ class CallStubCompiler: public StubCompiler {
void GenerateNameCheck(Handle<Name> name, Label* miss); void GenerateNameCheck(Handle<Name> name, Label* miss);
void GenerateGlobalReceiverCheck(Handle<JSObject> object,
Handle<JSObject> holder,
Handle<Name> name,
Label* miss);
// Generates code to load the function from the cell checking that // Generates code to load the function from the cell checking that
// it still contains the same function. // it still contains the same function.
void GenerateLoadFunctionFromCell(Handle<Cell> cell, void GenerateLoadFunctionFromCell(Handle<Cell> cell,
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment