summaryrefslogtreecommitdiff
path: root/src/jit/gentree.h
diff options
context:
space:
mode:
authorSergey Andreenko <seandree@microsoft.com>2018-02-14 15:38:58 -0800
committerGitHub <noreply@github.com>2018-02-14 15:38:58 -0800
commit94510ef330ad1ecb31540a949a68d4e09c164c64 (patch)
tree37161f66b2cf10ad90232a23c1700026b3734e27 /src/jit/gentree.h
parent7910a37a1cf5b963997994b6884475c224585e90 (diff)
downloadcoreclr-94510ef330ad1ecb31540a949a68d4e09c164c64.tar.gz
coreclr-94510ef330ad1ecb31540a949a68d4e09c164c64.tar.bz2
coreclr-94510ef330ad1ecb31540a949a68d4e09c164c64.zip
[RyuJit] Stack level setter (#15597)
* create a new phase: StackLevelSetter * add repro * Fix grammar mistakes * use the default hash * delete values from the map. * create gentree::OperIsPutArgStkOrSplit * fix more comments * delete an extra condition that is always true * use GTSTRUCT_2_SPECIAL for PutArgStk * extract fgUseThrowHelperBlocks * optimize memory for amd64 and additional checks for x86 * change checks The previous version was wrong, because morph can call fgAddCodeRef several times for the same instruction during different phases. * fix comments * fix genJumpToThrowHlpBlk * small ref in genJumpToThrowHlpBlk * fix rebase problems. * use fgUseThrowHelperBlocks instead of !opts.compDbgCode * add throwHelperBlocksUsed for throughput.
Diffstat (limited to 'src/jit/gentree.h')
-rw-r--r--src/jit/gentree.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/jit/gentree.h b/src/jit/gentree.h
index 5f534db8f1..ed5664efb2 100644
--- a/src/jit/gentree.h
+++ b/src/jit/gentree.h
@@ -1294,6 +1294,11 @@ public:
return gtOper == GT_PUTARG_STK;
}
+ bool OperIsPutArgStkOrSplit() const
+ {
+ return OperIsPutArgStk() || OperIsPutArgSplit();
+ }
+
bool OperIsPutArgReg() const
{
return gtOper == GT_PUTARG_REG;