MIPS: Zonify types in compiler frontend
Port r18719 (13303b7a) Original commit message: Clean up some zone/isolate handling in AST and its visitors on the way. (Based on https://codereview.chromium.org/103743004/) BUG= R=plind44@gmail.com Review URL: https://codereview.chromium.org/143873005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
3271acd764
commit
87b7fdf46b
@ -46,8 +46,8 @@ enum TypeofState { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF };
|
|||||||
|
|
||||||
class CodeGenerator: public AstVisitor {
|
class CodeGenerator: public AstVisitor {
|
||||||
public:
|
public:
|
||||||
explicit CodeGenerator(Isolate* isolate) {
|
explicit CodeGenerator(Zone* zone) {
|
||||||
InitializeAstVisitor(isolate);
|
InitializeAstVisitor(zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool MakeCode(CompilationInfo* info);
|
static bool MakeCode(CompilationInfo* info);
|
||||||
|
@ -1107,7 +1107,7 @@ void StubCompiler::GenerateTailCall(MacroAssembler* masm, Handle<Code> code) {
|
|||||||
#define __ ACCESS_MASM(masm())
|
#define __ ACCESS_MASM(masm())
|
||||||
|
|
||||||
|
|
||||||
Register StubCompiler::CheckPrototypes(Handle<Type> type,
|
Register StubCompiler::CheckPrototypes(Handle<HeapType> type,
|
||||||
Register object_reg,
|
Register object_reg,
|
||||||
Handle<JSObject> holder,
|
Handle<JSObject> holder,
|
||||||
Register holder_reg,
|
Register holder_reg,
|
||||||
@ -1253,7 +1253,7 @@ void StoreStubCompiler::HandlerFrontendFooter(Handle<Name> name, Label* miss) {
|
|||||||
|
|
||||||
|
|
||||||
Register LoadStubCompiler::CallbackHandlerFrontend(
|
Register LoadStubCompiler::CallbackHandlerFrontend(
|
||||||
Handle<Type> type,
|
Handle<HeapType> type,
|
||||||
Register object_reg,
|
Register object_reg,
|
||||||
Handle<JSObject> holder,
|
Handle<JSObject> holder,
|
||||||
Handle<Name> name,
|
Handle<Name> name,
|
||||||
@ -1919,7 +1919,7 @@ Handle<Code> StoreStubCompiler::CompileStoreInterceptor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Handle<Code> LoadStubCompiler::CompileLoadNonexistent(Handle<Type> type,
|
Handle<Code> LoadStubCompiler::CompileLoadNonexistent(Handle<HeapType> type,
|
||||||
Handle<JSObject> last,
|
Handle<JSObject> last,
|
||||||
Handle<Name> name) {
|
Handle<Name> name) {
|
||||||
NonexistentHandlerFrontend(type, last, name);
|
NonexistentHandlerFrontend(type, last, name);
|
||||||
@ -2001,7 +2001,7 @@ void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm,
|
|||||||
|
|
||||||
|
|
||||||
Handle<Code> LoadStubCompiler::CompileLoadGlobal(
|
Handle<Code> LoadStubCompiler::CompileLoadGlobal(
|
||||||
Handle<Type> type,
|
Handle<HeapType> type,
|
||||||
Handle<GlobalObject> global,
|
Handle<GlobalObject> global,
|
||||||
Handle<PropertyCell> cell,
|
Handle<PropertyCell> cell,
|
||||||
Handle<Name> name,
|
Handle<Name> name,
|
||||||
@ -2055,11 +2055,11 @@ Handle<Code> BaseLoadStoreStubCompiler::CompilePolymorphicIC(
|
|||||||
int number_of_handled_maps = 0;
|
int number_of_handled_maps = 0;
|
||||||
__ lw(map_reg, FieldMemOperand(receiver(), HeapObject::kMapOffset));
|
__ lw(map_reg, FieldMemOperand(receiver(), HeapObject::kMapOffset));
|
||||||
for (int current = 0; current < receiver_count; ++current) {
|
for (int current = 0; current < receiver_count; ++current) {
|
||||||
Handle<Type> type = types->at(current);
|
Handle<HeapType> type = types->at(current);
|
||||||
Handle<Map> map = IC::TypeToMap(*type, isolate());
|
Handle<Map> map = IC::TypeToMap(*type, isolate());
|
||||||
if (!map->is_deprecated()) {
|
if (!map->is_deprecated()) {
|
||||||
number_of_handled_maps++;
|
number_of_handled_maps++;
|
||||||
if (type->Is(Type::Number())) {
|
if (type->Is(HeapType::Number())) {
|
||||||
ASSERT(!number_case.is_unused());
|
ASSERT(!number_case.is_unused());
|
||||||
__ bind(&number_case);
|
__ bind(&number_case);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user