Browse files

Add ReferenceType and method table information to LclVarDsc (variable…

… description)
  • Loading branch information...
xoofx committed Oct 1, 2015
1 parent 2fd97ab commit a5270f4e3837fd292afeefbecc0a6f152ad872ad
Showing with 6 additions and 0 deletions.
  1. +6 −0 src/jit/compiler.h
@@ -269,6 +269,7 @@ class LclVarDsc
unsigned char lvOverlappingFields :1; // True when we have a struct with possibly overlapping fields
unsigned char lvContainsHoles :1; // True when we have a promoted struct that contains holes
unsigned char lvCustomLayout :1; // True when this struct has "CustomLayout"
unsigned char lvIsReferenceType : 1; // True when the local variable is actually an allocation of a reference type on the stack
#ifdef _TARGET_ARM_
unsigned char lvDontPromote:1; // Should struct promoter consider this variable for promotion?
unsigned char lvIsHfaRegArg:1; // Is this argument variable holding a HFA register argument.
@@ -392,6 +393,10 @@ class LclVarDsc
assert(_lvArgReg == reg);

bool IsReferenceType() const
return lvIsReferenceType;
// Is this is a SIMD struct?
bool lvIsSIMDType() const
@@ -507,6 +512,7 @@ class LclVarDsc
unsigned lvRefCntWtd; // weighted reference count
int lvStkOffs; // stack offset of home
unsigned lvExactSize; // (exact) size of the type in bytes
void* lvReferenceTypeMethodTable; // MethodTable for a struct allocated on the stack

// Is this a promoted struct?
// This method returns true only for structs (including SIMD structs), not for

0 comments on commit a5270f4

Please sign in to comment.