tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 18a690cde4eb90dcb0754f8d5fd002829e58424e
parent 57a1df1538fe6dc79beba5484e3973edc5dd5510
Author: serge-sans-paille <sguelton@mozilla.com>
Date:   Mon, 13 Oct 2025 05:37:18 +0000

Bug 1992934 - Optimize Token.Fragment() and Token.AsString() methods return type r=nika

Returning a reference avoids a copy which is non trivial.
It also makes lifetime analysis easier.

Differential Revision: https://phabricator.services.mozilla.com/D267745

Diffstat:
Mxpcom/ds/Tokenizer.cpp | 3++-
Mxpcom/ds/Tokenizer.h | 4++--
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xpcom/ds/Tokenizer.cpp b/xpcom/ds/Tokenizer.cpp @@ -785,7 +785,8 @@ TChar TokenizerBase<TChar>::Token::AsChar() const { } template <typename TChar> -auto TokenizerBase<TChar>::Token::AsString() const -> TDependentSubstring { +auto TokenizerBase<TChar>::Token::AsString() const + -> const TDependentSubstring& { MOZ_ASSERT(mType == TOKEN_WORD); return mWord; } diff --git a/xpcom/ds/Tokenizer.h b/xpcom/ds/Tokenizer.h @@ -91,10 +91,10 @@ class TokenizerBase { TokenType Type() const { return mType; } TChar AsChar() const; - TDependentSubstring AsString() const; + TDependentSubstring const& AsString() const; uint64_t AsInteger() const; - TDependentSubstring Fragment() const { return mFragment; } + TDependentSubstring const& Fragment() const { return mFragment; } }; /**