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 ...@@ -211,7 +211,8 @@ class TFunction : public TSymbol
ImmutableString getMangledName() const override ImmutableString getMangledName() const override
{ {
if (mMangledName == "") ASSERT(symbolType() != SymbolType::BuiltIn);
if (mMangledName.empty())
{ {
mMangledName = buildMangledName(); mMangledName = buildMangledName();
} }
...@@ -242,7 +243,6 @@ class TFunction : public TSymbol ...@@ -242,7 +243,6 @@ class TFunction : public TSymbol
const TVariable *const *parameters, const TVariable *const *parameters,
size_t paramCount, size_t paramCount,
const TType *retType, const TType *retType,
const ImmutableString &mangledName,
TOperator op, TOperator op,
bool knownToNotHaveSideEffects) bool knownToNotHaveSideEffects)
: TSymbol(id, name, SymbolType::BuiltIn, extension), : TSymbol(id, name, SymbolType::BuiltIn, extension),
...@@ -250,7 +250,7 @@ class TFunction : public TSymbol ...@@ -250,7 +250,7 @@ class TFunction : public TSymbol
mParameters(parameters), mParameters(parameters),
mParamCount(paramCount), mParamCount(paramCount),
returnType(retType), returnType(retType),
mMangledName(mangledName), mMangledName(nullptr),
mOp(op), mOp(op),
defined(false), defined(false),
mHasPrototypeDeclaration(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): ...@@ -873,7 +873,7 @@ def process_single_function_group(condition, group_name, group):
template_parameter_list_declaration = 'constexpr const TVariable **{parameters_var_name} = nullptr;' 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) 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)) function_declarations.append(template_function_declaration.format(**template_args))
template_mangled_if = """if (name == BuiltInName::{unique_name}) 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