Changeset View
Changeset View
Standalone View
Standalone View
source/ps/ProfileViewer.cpp
Show First 20 Lines • Show All 496 Lines • ▼ Show 20 Lines | struct DumpTable | ||||
DumpTable(DumpTable && original) : | DumpTable(DumpTable && original) : | ||||
m_ScriptInterface(original.m_ScriptInterface), | m_ScriptInterface(original.m_ScriptInterface), | ||||
m_Root(original.m_ScriptInterface.GetJSRuntime(), original.m_Root.get()) | m_Root(original.m_ScriptInterface.GetJSRuntime(), original.m_Root.get()) | ||||
{ | { | ||||
} | } | ||||
void operator() (AbstractProfileTable* table) | void operator() (AbstractProfileTable* table) | ||||
{ | { | ||||
ScriptInterface::Request rq(m_ScriptInterface); | ScriptRequest rq(m_ScriptInterface); | ||||
JS::RootedValue t(rq.cx); | JS::RootedValue t(rq.cx); | ||||
ScriptInterface::CreateObject( | ScriptInterface::CreateObject( | ||||
rq, | rq, | ||||
&t, | &t, | ||||
"cols", DumpCols(table), | "cols", DumpCols(table), | ||||
"data", DumpRows(table)); | "data", DumpRows(table)); | ||||
Show All 9 Lines | std::vector<std::string> DumpCols(AbstractProfileTable* table) | ||||
for (size_t c = 0; c < columns.size(); ++c) | for (size_t c = 0; c < columns.size(); ++c) | ||||
titles.push_back(columns[c].title); | titles.push_back(columns[c].title); | ||||
return titles; | return titles; | ||||
} | } | ||||
JS::Value DumpRows(AbstractProfileTable* table) | JS::Value DumpRows(AbstractProfileTable* table) | ||||
{ | { | ||||
ScriptInterface::Request rq(m_ScriptInterface); | ScriptRequest rq(m_ScriptInterface); | ||||
JS::RootedValue data(rq.cx); | JS::RootedValue data(rq.cx); | ||||
ScriptInterface::CreateObject(rq, &data); | ScriptInterface::CreateObject(rq, &data); | ||||
const std::vector<ProfileColumn>& columns = table->GetColumns(); | const std::vector<ProfileColumn>& columns = table->GetColumns(); | ||||
for (size_t r = 0; r < table->GetNumberRows(); ++r) | for (size_t r = 0; r < table->GetNumberRows(); ++r) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 84 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator