Index: src/counters.h |
diff --git a/src/counters.h b/src/counters.h |
index 9678099f3ef41966be1964ec751e9d2924e863f4..a61cacfc821b1fa6605fc803c185686cf27fe194 100644 |
--- a/src/counters.h |
+++ b/src/counters.h |
@@ -520,19 +520,178 @@ class RuntimeCallTimer { |
base::ElapsedTimer timer_; |
}; |
-#define FOR_EACH_MANUAL_COUNTER(V) \ |
- /* Counter for runtime callbacks into JavaScript. */ \ |
- V(ExternalCallback) \ |
- V(GC) \ |
- /* Dummy counter for the unexpected stub miss. */ \ |
- V(UnexpectedStubMiss) \ |
- V(PrototypeMap_TransitionToAccessorProperty) \ |
- V(PrototypeMap_TransitionToDataProperty) \ |
- V(Map_TransitionToAccessorProperty) \ |
- V(Map_TransitionToDataProperty) \ |
- V(Map_SetPrototype) \ |
- V(PrototypeObject_DeleteProperty) \ |
- V(Object_DeleteProperty) |
+#define FOR_EACH_API_COUNTER(V) \ |
+ V(ArrayBuffer_Cast) \ |
+ V(ArrayBuffer_Neuter) \ |
+ V(ArrayBuffer_New) \ |
+ V(Array_CloneElementAt) \ |
+ V(Array_New) \ |
+ V(BooleanObject_BooleanValue) \ |
+ V(BooleanObject_New) \ |
+ V(Context_New) \ |
+ V(DataView_New) \ |
+ V(Date_DateTimeConfigurationChangeNotification) \ |
+ V(Date_New) \ |
+ V(Date_NumberValue) \ |
+ V(Debug_Call) \ |
+ V(Debug_GetMirror) \ |
+ V(Error_New) \ |
+ V(External_New) \ |
+ V(Float32Array_New) \ |
+ V(Float64Array_New) \ |
+ V(Function_Call) \ |
+ V(Function_New) \ |
+ V(Function_NewInstance) \ |
+ V(FunctionTemplate_GetFunction) \ |
+ V(FunctionTemplate_New) \ |
+ V(FunctionTemplate_NewWithFastHandler) \ |
+ V(Int16Array_New) \ |
+ V(Int32Array_New) \ |
+ V(Int8Array_New) \ |
+ V(JSON_Parse) \ |
+ V(JSON_Stringify) \ |
+ V(Map_AsArray) \ |
+ V(Map_Clear) \ |
+ V(Map_Delete) \ |
+ V(Map_Get) \ |
+ V(Map_Has) \ |
+ V(Map_New) \ |
+ V(Map_Set) \ |
+ V(Message_GetEndColumn) \ |
+ V(Message_GetLineNumber) \ |
+ V(Message_GetSourceLine) \ |
+ V(Message_GetStartColumn) \ |
+ V(NumberObject_New) \ |
+ V(NumberObject_NumberValue) \ |
+ V(Object_CallAsConstructor) \ |
+ V(Object_CallAsFunction) \ |
+ V(Object_CreateDataProperty) \ |
+ V(Object_DefineOwnProperty) \ |
+ V(Object_Delete) \ |
+ V(Object_DeleteProperty) \ |
+ V(Object_ForceSet) \ |
+ V(Object_Get) \ |
+ V(Object_GetOwnPropertyDescriptor) \ |
+ V(Object_GetOwnPropertyNames) \ |
+ V(Object_GetPropertyAttributes) \ |
+ V(Object_GetPropertyNames) \ |
+ V(Object_GetRealNamedProperty) \ |
+ V(Object_GetRealNamedPropertyAttributes) \ |
+ V(Object_GetRealNamedPropertyAttributesInPrototypeChain) \ |
+ V(Object_GetRealNamedPropertyInPrototypeChain) \ |
+ V(Object_HasOwnProperty) \ |
+ V(Object_HasRealIndexedProperty) \ |
+ V(Object_HasRealNamedCallbackProperty) \ |
+ V(Object_HasRealNamedProperty) \ |
+ V(Object_Int32Value) \ |
+ V(Object_IntegerValue) \ |
+ V(Object_New) \ |
+ V(Object_NumberValue) \ |
+ V(Object_ObjectProtoToString) \ |
+ V(Object_Set) \ |
+ V(Object_SetAccessor) \ |
+ V(Object_SetIntegrityLevel) \ |
+ V(Object_SetPrivate) \ |
+ V(Object_SetPrototype) \ |
+ V(ObjectTemplate_New) \ |
+ V(ObjectTemplate_NewInstance) \ |
+ V(Object_ToArrayIndex) \ |
+ V(Object_ToDetailString) \ |
+ V(Object_ToInt32) \ |
+ V(Object_ToInteger) \ |
+ V(Object_ToNumber) \ |
+ V(Object_ToObject) \ |
+ V(Object_ToString) \ |
+ V(Object_ToUint32) \ |
+ V(Object_Uint32Value) \ |
+ V(Persistent_New) \ |
+ V(Private_New) \ |
+ V(Promise_Catch) \ |
+ V(Promise_Chain) \ |
+ V(Promise_HasRejectHandler) \ |
+ V(Promise_Resolver_New) \ |
+ V(Promise_Resolver_Resolve) \ |
+ V(Promise_Then) \ |
+ V(Proxy_New) \ |
+ V(RangeError_New) \ |
+ V(ReferenceError_New) \ |
+ V(RegExp_New) \ |
+ V(ScriptCompiler_Compile) \ |
+ V(ScriptCompiler_CompileFunctionInContext) \ |
+ V(ScriptCompiler_CompileUnbound) \ |
+ V(Script_Run) \ |
+ V(Set_Add) \ |
+ V(Set_AsArray) \ |
+ V(Set_Clear) \ |
+ V(Set_Delete) \ |
+ V(Set_Has) \ |
+ V(Set_New) \ |
+ V(SharedArrayBuffer_New) \ |
+ V(String_Concat) \ |
+ V(String_NewExternalOneByte) \ |
+ V(String_NewExternalTwoByte) \ |
+ V(String_NewFromOneByte) \ |
+ V(String_NewFromTwoByte) \ |
+ V(String_NewFromUtf8) \ |
+ V(StringObject_New) \ |
+ V(StringObject_StringValue) \ |
+ V(String_Write) \ |
+ V(String_WriteUtf8) \ |
+ V(Symbol_New) \ |
+ V(SymbolObject_New) \ |
+ V(SymbolObject_SymbolValue) \ |
+ V(SyntaxError_New) \ |
+ V(TryCatch_StackTrace) \ |
+ V(TypeError_New) \ |
+ V(Uint16Array_New) \ |
+ V(Uint32Array_New) \ |
+ V(Uint8Array_New) \ |
+ V(Uint8ClampedArray_New) \ |
+ V(UnboundScript_GetId) \ |
+ V(UnboundScript_GetLineNumber) \ |
+ V(UnboundScript_GetName) \ |
+ V(UnboundScript_GetSourceMappingURL) \ |
+ V(UnboundScript_GetSourceURL) \ |
+ V(Value_TypeOf) |
+ |
+#define FOR_EACH_MANUAL_COUNTER(V) \ |
+ V(AccessorGetterCallback) \ |
+ V(AccessorNameGetterCallback) \ |
+ V(AccessorNameSetterCallback) \ |
+ V(Compile) \ |
+ V(CompileCode) \ |
+ V(CompileDeserialize) \ |
+ V(CompileEval) \ |
+ V(CompileFullCode) \ |
+ V(CompileIgnition) \ |
+ V(CompileSerialize) \ |
+ V(DeoptimizeCode) \ |
+ V(FunctionCallback) \ |
+ V(GC) \ |
+ V(GenericNamedPropertyDeleterCallback) \ |
+ V(GenericNamedPropertyQueryCallback) \ |
+ V(GenericNamedPropertySetterCallback) \ |
+ V(IndexedPropertyDeleterCallback) \ |
+ V(IndexedPropertyGetterCallback) \ |
+ V(IndexedPropertyQueryCallback) \ |
+ V(IndexedPropertySetterCallback) \ |
+ V(InvokeFunctionCallback) \ |
+ V(JS_Execution) \ |
+ V(Map_SetPrototype) \ |
+ V(Map_TransitionToAccessorProperty) \ |
+ V(Map_TransitionToDataProperty) \ |
+ V(Object_DeleteProperty) \ |
+ V(OptimizeCode) \ |
+ V(Parse) \ |
+ V(ParseLazy) \ |
+ V(PropertyCallback) \ |
+ V(PrototypeMap_TransitionToAccessorProperty) \ |
+ V(PrototypeMap_TransitionToDataProperty) \ |
+ V(PrototypeObject_DeleteProperty) \ |
+ V(RecompileConcurrent) \ |
+ V(RecompileSynchronous) \ |
+ /* Dummy counter for the unexpected stub miss. */ \ |
+ V(UnexpectedStubMiss) |
#define FOR_EACH_HANDLER_COUNTER(V) \ |
V(IC_HandlerCacheHit) \ |
@@ -591,6 +750,10 @@ class RuntimeCallStats { |
BUILTIN_LIST_C(CALL_BUILTIN_COUNTER) |
#undef CALL_BUILTIN_COUNTER |
#define CALL_BUILTIN_COUNTER(name) \ |
+ RuntimeCallCounter API_##name = RuntimeCallCounter("API_" #name); |
+ FOR_EACH_API_COUNTER(CALL_BUILTIN_COUNTER) |
+#undef CALL_BUILTIN_COUNTER |
+#define CALL_BUILTIN_COUNTER(name) \ |
RuntimeCallCounter Handler_##name = RuntimeCallCounter(#name); |
FOR_EACH_HANDLER_COUNTER(CALL_BUILTIN_COUNTER) |
#undef CALL_BUILTIN_COUNTER |