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

Side by Side Diff: src/stub-cache.cc

Issue 166883002: Remove HandlerKindField and just encode the handlerkind as the only extra-ic-state. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 LoadIC::GeneratePreMonomorphic(masm()); 682 LoadIC::GeneratePreMonomorphic(masm());
683 Handle<Code> code = GetCodeWithFlags(flags, "CompileLoadPreMonomorphic"); 683 Handle<Code> code = GetCodeWithFlags(flags, "CompileLoadPreMonomorphic");
684 PROFILE(isolate(), 684 PROFILE(isolate(),
685 CodeCreateEvent(Logger::LOAD_PREMONOMORPHIC_TAG, *code, 0)); 685 CodeCreateEvent(Logger::LOAD_PREMONOMORPHIC_TAG, *code, 0));
686 GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *code)); 686 GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *code));
687 return code; 687 return code;
688 } 688 }
689 689
690 690
691 Handle<Code> StubCompiler::CompileLoadMegamorphic(Code::Flags flags) { 691 Handle<Code> StubCompiler::CompileLoadMegamorphic(Code::Flags flags) {
692 ExtraICState extra_state = Code::ExtractExtraICStateFromFlags(flags); 692 LoadIC::GenerateMegamorphic(masm());
693 ContextualMode mode = LoadIC::GetContextualMode(extra_state);
694 LoadIC::GenerateMegamorphic(masm(), mode);
695 Handle<Code> code = GetCodeWithFlags(flags, "CompileLoadMegamorphic"); 693 Handle<Code> code = GetCodeWithFlags(flags, "CompileLoadMegamorphic");
696 PROFILE(isolate(), 694 PROFILE(isolate(),
697 CodeCreateEvent(Logger::LOAD_MEGAMORPHIC_TAG, *code, 0)); 695 CodeCreateEvent(Logger::LOAD_MEGAMORPHIC_TAG, *code, 0));
698 GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *code)); 696 GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *code));
699 return code; 697 return code;
700 } 698 }
701 699
702 700
703 Handle<Code> StubCompiler::CompileStoreInitialize(Code::Flags flags) { 701 Handle<Code> StubCompiler::CompileStoreInitialize(Code::Flags flags) {
704 StoreIC::GenerateInitialize(masm()); 702 StoreIC::GenerateInitialize(masm());
(...skipping 21 matching lines...) Expand all
726 StoreIC::GenerateRuntimeSetProperty(masm(), strict_mode); 724 StoreIC::GenerateRuntimeSetProperty(masm(), strict_mode);
727 Handle<Code> code = GetCodeWithFlags(flags, "CompileStoreGeneric"); 725 Handle<Code> code = GetCodeWithFlags(flags, "CompileStoreGeneric");
728 PROFILE(isolate(), 726 PROFILE(isolate(),
729 CodeCreateEvent(Logger::STORE_GENERIC_TAG, *code, 0)); 727 CodeCreateEvent(Logger::STORE_GENERIC_TAG, *code, 0));
730 GDBJIT(AddCode(GDBJITInterface::STORE_IC, *code)); 728 GDBJIT(AddCode(GDBJITInterface::STORE_IC, *code));
731 return code; 729 return code;
732 } 730 }
733 731
734 732
735 Handle<Code> StubCompiler::CompileStoreMegamorphic(Code::Flags flags) { 733 Handle<Code> StubCompiler::CompileStoreMegamorphic(Code::Flags flags) {
736 ExtraICState extra_state = Code::ExtractExtraICStateFromFlags(flags); 734 StoreIC::GenerateMegamorphic(masm());
737 StoreIC::GenerateMegamorphic(masm(), extra_state);
738 Handle<Code> code = GetCodeWithFlags(flags, "CompileStoreMegamorphic"); 735 Handle<Code> code = GetCodeWithFlags(flags, "CompileStoreMegamorphic");
739 PROFILE(isolate(), 736 PROFILE(isolate(),
740 CodeCreateEvent(Logger::STORE_MEGAMORPHIC_TAG, *code, 0)); 737 CodeCreateEvent(Logger::STORE_MEGAMORPHIC_TAG, *code, 0));
741 GDBJIT(AddCode(GDBJITInterface::STORE_IC, *code)); 738 GDBJIT(AddCode(GDBJITInterface::STORE_IC, *code));
742 return code; 739 return code;
743 } 740 }
744 741
745 742
746 #undef CALL_LOGGER_TAG 743 #undef CALL_LOGGER_TAG
747 744
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
1228 Handle<Code> code = GetCodeWithFlags(flags, name); 1225 Handle<Code> code = GetCodeWithFlags(flags, name);
1229 PROFILE(isolate(), CodeCreateEvent(log_kind(code), *code, *name)); 1226 PROFILE(isolate(), CodeCreateEvent(log_kind(code), *code, *name));
1230 JitEvent(name, code); 1227 JitEvent(name, code);
1231 return code; 1228 return code;
1232 } 1229 }
1233 1230
1234 1231
1235 Handle<Code> BaseLoadStoreStubCompiler::GetCode(Code::Kind kind, 1232 Handle<Code> BaseLoadStoreStubCompiler::GetCode(Code::Kind kind,
1236 Code::StubType type, 1233 Code::StubType type,
1237 Handle<Name> name) { 1234 Handle<Name> name) {
1238 Code::Flags flags = Code::ComputeHandlerFlags( 1235 ASSERT_EQ(kNoExtraICState, extra_state());
1239 kind, extra_state(), type, cache_holder_); 1236 Code::Flags flags = Code::ComputeHandlerFlags(kind, type, cache_holder_);
1240 Handle<Code> code = GetCodeWithFlags(flags, name); 1237 Handle<Code> code = GetCodeWithFlags(flags, name);
1241 PROFILE(isolate(), CodeCreateEvent(log_kind(code), *code, *name)); 1238 PROFILE(isolate(), CodeCreateEvent(log_kind(code), *code, *name));
1242 JitEvent(name, code); 1239 JitEvent(name, code);
1243 return code; 1240 return code;
1244 } 1241 }
1245 1242
1246 1243
1247 void KeyedLoadStubCompiler::CompileElementHandlers(MapHandleList* receiver_maps, 1244 void KeyedLoadStubCompiler::CompileElementHandlers(MapHandleList* receiver_maps,
1248 CodeHandleList* handlers) { 1245 CodeHandleList* handlers) {
1249 for (int i = 0; i < receiver_maps->length(); ++i) { 1246 for (int i = 0; i < receiver_maps->length(); ++i) {
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1445 Handle<FunctionTemplateInfo>( 1442 Handle<FunctionTemplateInfo>(
1446 FunctionTemplateInfo::cast(signature->receiver())); 1443 FunctionTemplateInfo::cast(signature->receiver()));
1447 } 1444 }
1448 } 1445 }
1449 1446
1450 is_simple_api_call_ = true; 1447 is_simple_api_call_ = true;
1451 } 1448 }
1452 1449
1453 1450
1454 } } // namespace v8::internal 1451 } } // namespace v8::internal
OLDNEW
« src/objects.h ('K') | « src/objects-inl.h ('k') | src/x64/ic-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698