Commit 4ba4a82b by Olli Etuaho Committed by Commit Bot

Only refer to built-in function mangled names in lookup

TFunction entries for built-ins don't need to store mangled names. BUG=angleproject:2267 TEST=angle_unittests Change-Id: Ia88e8bfa5357719c98d725dc3d00885dd59c9f59 Reviewed-on: https://chromium-review.googlesource.com/973241Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
parent 068e7030
......@@ -211,7 +211,8 @@ class TFunction : public TSymbol
ImmutableString getMangledName() const override
{
if (mMangledName == "")
ASSERT(symbolType() != SymbolType::BuiltIn);
if (mMangledName.empty())
{
mMangledName = buildMangledName();
}
......@@ -242,7 +243,6 @@ class TFunction : public TSymbol
const TVariable *const *parameters,
size_t paramCount,
const TType *retType,
const ImmutableString &mangledName,
TOperator op,
bool knownToNotHaveSideEffects)
: TSymbol(id, name, SymbolType::BuiltIn, extension),
......@@ -250,7 +250,7 @@ class TFunction : public TSymbol
mParameters(parameters),
mParamCount(paramCount),
returnType(retType),
mMangledName(mangledName),
mMangledName(nullptr),
mOp(op),
defined(false),
mHasPrototypeDeclaration(false),
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -873,7 +873,7 @@ def process_single_function_group(condition, group_name, group):
template_parameter_list_declaration = 'constexpr const TVariable **{parameters_var_name} = nullptr;'
parameter_declarations[template_args['parameters_var_name']] = template_parameter_list_declaration.format(**template_args)
template_function_declaration = 'constexpr const TFunction kFunction_{unique_name}(BuiltInId::{unique_name}, BuiltInName::{name_with_suffix}, TExtension::{extension}, BuiltInParameters::{parameters_var_name}, {param_count}, {return_type}, BuiltInName::{unique_name}, EOp{op}, {known_to_not_have_side_effects});'
template_function_declaration = 'constexpr const TFunction kFunction_{unique_name}(BuiltInId::{unique_name}, BuiltInName::{name_with_suffix}, TExtension::{extension}, BuiltInParameters::{parameters_var_name}, {param_count}, {return_type}, EOp{op}, {known_to_not_have_side_effects});'
function_declarations.append(template_function_declaration.format(**template_args))
template_mangled_if = """if (name == BuiltInName::{unique_name})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment