summaryrefslogtreecommitdiff
path: root/src/trans
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-04-25 13:56:11 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-04-25 13:56:11 +0800
commit967a76859749ecb602cd2c343e28888514f827bd (patch)
tree4efa0535a2658f2c21a627fbe1e38c2e2fcbea4b /src/trans
parent7a1a685ef5e0d831f6762f1bc9171de66d933e32 (diff)
downloadmrust-967a76859749ecb602cd2c343e28888514f827bd.tar.gz
MIR - Reduce size of LValue::Static by putting the HIR::Path behind a pointer
Diffstat (limited to 'src/trans')
-rw-r--r--src/trans/codegen_c.cpp2
-rw-r--r--src/trans/codegen_mmir.cpp2
-rw-r--r--src/trans/enumerate.cpp4
-rw-r--r--src/trans/monomorphise.cpp2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/trans/codegen_c.cpp b/src/trans/codegen_c.cpp
index 98d0d3de..373a36a8 100644
--- a/src/trans/codegen_c.cpp
+++ b/src/trans/codegen_c.cpp
@@ -5522,7 +5522,7 @@ namespace {
m_of << "var" << e;
),
(Static,
- m_of << Trans_Mangle(e);
+ m_of << Trans_Mangle(*e);
),
(Field,
::HIR::TypeRef tmp;
diff --git a/src/trans/codegen_mmir.cpp b/src/trans/codegen_mmir.cpp
index b2c5282a..4867cf6f 100644
--- a/src/trans/codegen_mmir.cpp
+++ b/src/trans/codegen_mmir.cpp
@@ -52,7 +52,7 @@ namespace
os << "arg" << e.idx;
break;
TU_ARM(x.e, Static, e)
- os << e;
+ os << *e;
break;
TU_ARM(x.e, Deref, e)
os << "*" << fmt(*e.val);
diff --git a/src/trans/enumerate.cpp b/src/trans/enumerate.cpp
index afdbd626..da11386c 100644
--- a/src/trans/enumerate.cpp
+++ b/src/trans/enumerate.cpp
@@ -735,7 +735,7 @@ void Trans_Enumerate_Types(EnumState& state)
),
(Static,
if( tmp_ty_ptr ) {
- const auto& path = e;
+ const auto& path = *e;
TU_MATCHA( (path.m_data), (pe),
(Generic,
ASSERT_BUG(Span(), pe.m_params.m_types.empty(), "Path params on static - " << path);
@@ -1495,7 +1495,7 @@ void Trans_Enumerate_FillFrom_MIR_LValue(EnumState& state, const ::MIR::LValue&
(Local,
),
(Static,
- Trans_Enumerate_FillFrom_Path(state, e, pp);
+ Trans_Enumerate_FillFrom_Path(state, *e, pp);
),
(Field,
Trans_Enumerate_FillFrom_MIR_LValue(state, *e.val, pp);
diff --git a/src/trans/monomorphise.cpp b/src/trans/monomorphise.cpp
index 3b958fec..0a0b43b5 100644
--- a/src/trans/monomorphise.cpp
+++ b/src/trans/monomorphise.cpp
@@ -19,7 +19,7 @@ namespace {
(Argument, return e; ),
(Local, return e; ),
(Static,
- return params.monomorph(resolve, e);
+ return box$(params.monomorph(resolve, *e));
),
(Field,
return ::MIR::LValue::make_Field({