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

Unified Diff: src/stub-cache.cc

Issue 10824032: Enables V8 integration with the Intel VTune performance analysis tool. This allows the VTune profi… (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: src/stub-cache.cc
===================================================================
--- src/stub-cache.cc (revision 12182)
+++ src/stub-cache.cc (working copy)
@@ -35,6 +35,7 @@
#include "ic-inl.h"
#include "stub-cache.h"
#include "vm-state-inl.h"
+#include "third_party/vtune/vtune-jit.h"
namespace v8 {
namespace internal {
@@ -96,6 +97,7 @@
primary->value = code;
primary->map = map;
isolate()->counters()->megamorphic_stub_cache_updates()->Increment();
+ VTUNEJIT(AddCode(name, code));
return code;
}
@@ -128,6 +130,7 @@
compiler.CompileLoadNonexistent(cache_name, receiver, last);
PROFILE(isolate_, CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *cache_name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *cache_name, *code));
+ VTUNEJIT(AddCode(cache_name, code));
JSObject::UpdateMapCodeCache(receiver, cache_name, code);
return code;
}
@@ -147,6 +150,7 @@
compiler.CompileLoadField(receiver, holder, field_index, name);
PROFILE(isolate_, CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -168,6 +172,7 @@
compiler.CompileLoadCallback(name, receiver, holder, callback);
PROFILE(isolate_, CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -208,6 +213,7 @@
compiler.CompileLoadConstant(receiver, holder, value, name);
PROFILE(isolate_, CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -227,6 +233,7 @@
compiler.CompileLoadInterceptor(receiver, holder, name);
PROFILE(isolate_, CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -253,6 +260,7 @@
compiler.CompileLoadGlobal(receiver, holder, cell, name, is_dont_delete);
PROFILE(isolate_, CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -273,6 +281,7 @@
compiler.CompileLoadField(name, receiver, holder, field_index);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -293,6 +302,7 @@
compiler.CompileLoadConstant(name, receiver, holder, value);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -311,6 +321,7 @@
Handle<Code> code = compiler.CompileLoadInterceptor(receiver, holder, name);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -332,6 +343,7 @@
compiler.CompileLoadCallback(name, receiver, holder, callback);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -348,6 +360,7 @@
Handle<Code> code = compiler.CompileLoadArrayLength(name);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -365,6 +378,7 @@
Handle<Code> code = compiler.CompileLoadStringLength(name);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
Map::UpdateCodeCache(map, name, code);
return code;
}
@@ -382,6 +396,7 @@
Handle<Code> code = compiler.CompileLoadFunctionPrototype(name);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -404,6 +419,7 @@
compiler.CompileStoreField(receiver, field_index, transition, name);
PROFILE(isolate_, CodeCreateEvent(Logger::STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -472,6 +488,7 @@
} else {
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_STORE_IC_TAG, *code, 0));
}
+ VTUNEJIT(AddCode("Keyed_STR/LD_IC", code));
Map::UpdateCodeCache(receiver_map, name, code);
return code;
}
@@ -497,6 +514,7 @@
Handle<Code> code = compiler.CompileStoreGlobal(receiver, cell, name);
PROFILE(isolate_, CodeCreateEvent(Logger::STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -516,6 +534,7 @@
Handle<Code> code = compiler.CompileStoreCallback(receiver, callback, name);
PROFILE(isolate_, CodeCreateEvent(Logger::STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -553,6 +572,7 @@
Handle<Code> code = compiler.CompileStoreInterceptor(receiver, name);
PROFILE(isolate_, CodeCreateEvent(Logger::STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -575,6 +595,7 @@
compiler.CompileStoreField(receiver, field_index, transition, name);
PROFILE(isolate_, CodeCreateEvent(Logger::KEYED_STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(receiver, name, code);
return code;
}
@@ -619,6 +640,7 @@
PROFILE(isolate_,
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name));
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(map_holder, name, code);
return code;
}
@@ -657,6 +679,7 @@
PROFILE(isolate_,
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name));
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(map_holder, name, code);
return code;
}
@@ -694,6 +717,7 @@
PROFILE(isolate(),
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name));
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(map_holder, name, code);
return code;
}
@@ -723,6 +747,7 @@
PROFILE(isolate(),
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_IC_TAG), *code, *name));
GDBJIT(AddCode(GDBJITInterface::CALL_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
JSObject::UpdateMapCodeCache(map_holder, name, code);
return code;
}
@@ -1203,6 +1228,7 @@
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_INITIALIZE_TAG),
*code, code->arguments_count()));
GDBJIT(AddCode(GDBJITInterface::CALL_INITIALIZE, *code));
+ VTUNEJIT(AddCode("CALL_INITIALIZE", code));
return code;
}
@@ -1224,6 +1250,7 @@
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_PRE_MONOMORPHIC_TAG),
*code, code->arguments_count()));
GDBJIT(AddCode(GDBJITInterface::CALL_PRE_MONOMORPHIC, *code));
+ VTUNEJIT(AddCode("CALL_PRE_MONOMORPHIC", code));
return code;
}
@@ -1245,6 +1272,7 @@
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_NORMAL_TAG),
*code, code->arguments_count()));
GDBJIT(AddCode(GDBJITInterface::CALL_NORMAL, *code));
+ VTUNEJIT(AddCode("CALL_NORMAL", code));
return code;
}
@@ -1264,6 +1292,7 @@
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_MEGAMORPHIC_TAG),
*code, code->arguments_count()));
GDBJIT(AddCode(GDBJITInterface::CALL_MEGAMORPHIC, *code));
+ VTUNEJIT(AddCode("CALL_MEGAMORPHIC", code));
return code;
}
@@ -1277,6 +1306,7 @@
CALL_MEGAMORPHIC_TAG),
*code, code->arguments_count()));
GDBJIT(AddCode(GDBJITInterface::CALL_MEGAMORPHIC, *code));
+ VTUNEJIT(AddCode("CALL_MEGAMORPHIC", code));
return code;
}
@@ -1296,6 +1326,7 @@
CodeCreateEvent(CALL_LOGGER_TAG(kind, CALL_MISS_TAG),
*code, code->arguments_count()));
GDBJIT(AddCode(GDBJITInterface::CALL_MISS, *code));
+ VTUNEJIT(AddCode("CALL_MISS", code));
return code;
}
@@ -1308,6 +1339,7 @@
CodeCreateEvent(CALL_LOGGER_TAG(Code::ExtractKindFromFlags(flags),
CALL_DEBUG_BREAK_TAG),
*code, code->arguments_count()));
+ VTUNEJIT(AddCode("call_debug_prepare", code));
return code;
}
@@ -1329,6 +1361,7 @@
CALL_LOGGER_TAG(kind, CALL_DEBUG_PREPARE_STEP_IN_TAG),
*code,
code->arguments_count()));
+ VTUNEJIT(AddCode("call_debug_prepare", code));
return code;
}
#endif // ENABLE_DEBUGGER_SUPPORT
@@ -1373,6 +1406,7 @@
Handle<Code> code = GetCodeWithFlags(flags, name);
PROFILE(isolate(), CodeCreateEvent(Logger::LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
return code;
}
@@ -1385,6 +1419,7 @@
Handle<Code> code = GetCodeWithFlags(flags, name);
PROFILE(isolate(), CodeCreateEvent(Logger::KEYED_LOAD_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::LOAD_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
return code;
}
@@ -1396,6 +1431,7 @@
Handle<Code> code = GetCodeWithFlags(flags, name);
PROFILE(isolate(), CodeCreateEvent(Logger::STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
return code;
}
@@ -1410,6 +1446,7 @@
Handle<Code> code = GetCodeWithFlags(flags, name);
PROFILE(isolate(), CodeCreateEvent(Logger::KEYED_STORE_IC_TAG, *code, *name));
GDBJIT(AddCode(GDBJITInterface::KEYED_STORE_IC, *name, *code));
+ VTUNEJIT(AddCode(name, code));
return code;
}
@@ -1504,6 +1541,7 @@
Handle<Code> code = GetCodeWithFlags(flags, "ConstructStub");
PROFILE(isolate(), CodeCreateEvent(Logger::STUB_TAG, *code, "ConstructStub"));
GDBJIT(AddCode(GDBJITInterface::STUB, "ConstructStub", *code));
+ VTUNEJIT(AddCode("ConstructStub", code));
return code;
}

Powered by Google App Engine
This is Rietveld 408576698