Store TFunction::returnType by a const pointer.
On 32-bit Android this change saves ~30KiB per compiler instance.
BUG=492725
Change-Id: I8bea48d57ee7eac0a0ee417035085c0d335aea09
Reviewed-on: https://chromium-review.googlesource.com/281047
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Dmitry Skiba <dskiba@google.com>
diff --git a/src/compiler/translator/SymbolTable.h b/src/compiler/translator/SymbolTable.h
index fe2e9ec..7f16769 100644
--- a/src/compiler/translator/SymbolTable.h
+++ b/src/compiler/translator/SymbolTable.h
@@ -220,14 +220,7 @@
class TFunction : public TSymbol
{
public:
- TFunction(TOperator o)
- : TSymbol(0),
- returnType(TType(EbtVoid, EbpUndefined)),
- op(o),
- defined(false)
- {
- }
- TFunction(const TString *name, const TType &retType, TOperator tOp = EOpNull, const char *ext = "")
+ TFunction(const TString *name, const TType *retType, TOperator tOp = EOpNull, const char *ext = "")
: TSymbol(name),
returnType(retType),
mangledName(TFunction::mangleName(*name)),
@@ -263,7 +256,7 @@
}
const TType &getReturnType() const
{
- return returnType;
+ return *returnType;
}
TOperator getBuiltInOp() const
@@ -292,7 +285,7 @@
private:
typedef TVector<TConstParameter> TParamList;
TParamList parameters;
- TType returnType;
+ const TType *returnType;
TString mangledName;
TOperator op;
bool defined;