46 value->BeginArray(
"data");
47 for (
int i = 0;
i <
pos_; ++
i) {
58 Address script_ptr = script.ptr();
63 if (IsString(script_name_raw)) {
65 char* c_script_name = script_name->ToCString().release();
67 std::make_pair(script_ptr, std::unique_ptr<
char[]>(c_script_name)));
71 std::make_pair(script_ptr, std::unique_ptr<
char[]>(
nullptr)));
77 Address function_ptr = function.ptr();
81 ic_infos_[
pos_].is_optimized = function->HasAttachedOptimizedCode(isolate);
83 function_name = function->shared()->DebugNameCStr();
85 return function_name.get();
89 : function_name(nullptr),
97 is_dictionary_map(false),
98 number_of_own_descriptors(0) {}
117 value->BeginDictionary();
118 value->SetString(
"type", type);
130 if (!state.empty()) value->SetString(
"state", state);
134 std::stringstream ss;
136 value->SetString(
"map", ss.str());
141 value->EndDictionary();
const char * GetOrCacheScriptName(Tagged< Script > script)
std::vector< ICInfo > ic_infos_
std::unordered_map< Address, std::unique_ptr< char[]> > script_name_map_
std::unordered_map< Address, std::unique_ptr< char[]> > function_name_map_
const char * GetOrCacheFunctionName(IsolateForSandbox isolate, Tagged< JSFunction > function)
static base::LazyInstance< ICStats >::type instance_
static std::unique_ptr< TracedValue > Create()
#define LAZY_INSTANCE_INITIALIZER
void Relaxed_Store(volatile Atomic8 *ptr, Atomic8 value)
Atomic8 Relaxed_Load(volatile const Atomic8 *ptr)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
typename LazyStaticInstance< T, CreateTrait, InitOnceTrait, DestroyTrait >::type type
unsigned number_of_own_descriptors
const char * function_name
std::string instance_type
void AppendToTracedValue(v8::tracing::TracedValue *value) const
static bool is_ic_stats_enabled()
#define TRACE_EVENT_INSTANT1(category_group, name, scope, arg1_name, arg1_val)
#define TRACE_EVENT_SCOPE_THREAD
#define TRACE_DISABLED_BY_DEFAULT(name)
#define V8_LIKELY(condition)