SL-16014: Add Tracy markup for LLSD
parent
b78db5ae5c
commit
51a887a51c
|
|
@ -214,6 +214,8 @@ BOOL compare_llsd_with_template(
|
|||
const LLSD& template_llsd,
|
||||
LLSD& resultant_llsd)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
if (
|
||||
llsd_to_test.isUndefined() &&
|
||||
template_llsd.isDefined() )
|
||||
|
|
@ -335,6 +337,8 @@ bool filter_llsd_with_template(
|
|||
const LLSD & template_llsd,
|
||||
LLSD & resultant_llsd)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
if (llsd_to_test.isUndefined() && template_llsd.isDefined())
|
||||
{
|
||||
resultant_llsd = template_llsd;
|
||||
|
|
@ -529,6 +533,8 @@ class TypeLookup
|
|||
public:
|
||||
TypeLookup()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
for (const Data *di(boost::begin(typedata)), *dend(boost::end(typedata)); di != dend; ++di)
|
||||
{
|
||||
mMap[di->type] = di->name;
|
||||
|
|
@ -537,6 +543,8 @@ public:
|
|||
|
||||
std::string lookup(LLSD::Type type) const
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
MapType::const_iterator found = mMap.find(type);
|
||||
if (found != mMap.end())
|
||||
{
|
||||
|
|
@ -587,6 +595,8 @@ static std::string match_types(LLSD::Type expect, // prototype.type()
|
|||
LLSD::Type actual, // type we're checking
|
||||
const std::string& pfx) // as for llsd_matches
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
// Trivial case: if the actual type is exactly what we expect, we're good.
|
||||
if (actual == expect)
|
||||
return "";
|
||||
|
|
@ -624,6 +634,8 @@ static std::string match_types(LLSD::Type expect, // prototype.type()
|
|||
// see docstring in .h file
|
||||
std::string llsd_matches(const LLSD& prototype, const LLSD& data, const std::string& pfx)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
// An undefined prototype means that any data is valid.
|
||||
// An undefined slot in an array or map prototype means that any data
|
||||
// may fill that slot.
|
||||
|
|
@ -756,6 +768,8 @@ std::string llsd_matches(const LLSD& prototype, const LLSD& data, const std::str
|
|||
|
||||
bool llsd_equals(const LLSD& lhs, const LLSD& rhs, int bits)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
// We're comparing strict equality of LLSD representation rather than
|
||||
// performing any conversions. So if the types aren't equal, the LLSD
|
||||
// values aren't equal.
|
||||
|
|
@ -864,6 +878,8 @@ namespace llsd
|
|||
|
||||
LLSD& drill(LLSD& blob, const LLSD& rawPath)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
// Treat rawPath uniformly as an array. If it's not already an array,
|
||||
// store it as the only entry in one. (But let's say Undefined means an
|
||||
// empty array.)
|
||||
|
|
@ -889,6 +905,8 @@ LLSD& drill(LLSD& blob, const LLSD& rawPath)
|
|||
// path entry that's bad.
|
||||
for (LLSD::Integer i = 0; i < path.size(); ++i)
|
||||
{
|
||||
LL_PROFILE_ZONE_NUM( i )
|
||||
|
||||
const LLSD& key{path[i]};
|
||||
if (key.isString())
|
||||
{
|
||||
|
|
@ -917,6 +935,8 @@ LLSD& drill(LLSD& blob, const LLSD& rawPath)
|
|||
|
||||
LLSD drill(const LLSD& blob, const LLSD& path)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
// non-const drill() does exactly what we want. Temporarily cast away
|
||||
// const-ness and use that.
|
||||
return drill(const_cast<LLSD&>(blob), path);
|
||||
|
|
@ -929,6 +949,8 @@ LLSD drill(const LLSD& blob, const LLSD& path)
|
|||
// filter may be include to exclude/include keys in a map.
|
||||
LLSD llsd_clone(LLSD value, LLSD filter)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
|
||||
LLSD clone;
|
||||
bool has_filter(filter.isMap());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue