diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
commit | db20f3f1bb8595633a7e16c8900fd401a453a6b5 (patch) | |
tree | e5435159cd1bf0519276363a6fe1663d1721bed3 /src/jit/emit.h | |
parent | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (diff) | |
download | coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.gz coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.bz2 coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.zip |
Imported Upstream version 1.0.0.9127upstream/1.0.0.9127
Diffstat (limited to 'src/jit/emit.h')
-rw-r--r-- | src/jit/emit.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/jit/emit.h b/src/jit/emit.h index 8fb24bcd60..5b1a395379 100644 --- a/src/jit/emit.h +++ b/src/jit/emit.h @@ -427,6 +427,11 @@ public: // There seem to be some cases where this is used without being initialized via CodeGen::inst_set_SV_var(). emitVarRefOffs = 0; #endif // DEBUG + +#ifdef _TARGET_XARCH_ + SetUseSSE3_4(false); +#endif // _TARGET_XARCH_ + #ifdef FEATURE_AVX_SUPPORT SetUseAVX(false); #endif // FEATURE_AVX_SUPPORT @@ -1659,6 +1664,18 @@ private: unsigned char emitOutputLong(BYTE* dst, ssize_t val); unsigned char emitOutputSizeT(BYTE* dst, ssize_t val); +#if !defined(LEGACY_BACKEND) && defined(_TARGET_X86_) + unsigned char emitOutputByte(BYTE* dst, size_t val); + unsigned char emitOutputWord(BYTE* dst, size_t val); + unsigned char emitOutputLong(BYTE* dst, size_t val); + unsigned char emitOutputSizeT(BYTE* dst, size_t val); + + unsigned char emitOutputByte(BYTE* dst, unsigned __int64 val); + unsigned char emitOutputWord(BYTE* dst, unsigned __int64 val); + unsigned char emitOutputLong(BYTE* dst, unsigned __int64 val); + unsigned char emitOutputSizeT(BYTE* dst, unsigned __int64 val); +#endif // !defined(LEGACY_BACKEND) && defined(_TARGET_X86_) + size_t emitIssue1Instr(insGroup* ig, instrDesc* id, BYTE** dp); size_t emitOutputInstr(insGroup* ig, instrDesc* id, BYTE** dp); @@ -1742,8 +1759,8 @@ private: BYTE* emitCurIGfreeEndp; // one byte past the last available byte in buffer BYTE* emitCurIGfreeBase; // first byte address - unsigned emitCurIGinsCnt; // # of collected instr's in buffer - unsigned emitCurIGsize; // estimated code size of current group in bytes + unsigned emitCurIGinsCnt; // # of collected instr's in buffer + unsigned emitCurIGsize; // estimated code size of current group in bytes UNATIVE_OFFSET emitCurCodeOffset; // current code offset within group UNATIVE_OFFSET emitTotalCodeSize; // bytes of code in entire method @@ -1822,8 +1839,12 @@ private: void emitInsertIGAfter(insGroup* insertAfterIG, insGroup* ig); void emitNewIG(); + +#if !defined(JIT32_GCENCODER) void emitDisableGC(); void emitEnableGC(); +#endif // !defined(JIT32_GCENCODER) + void emitGenIG(insGroup* ig); insGroup* emitSavIG(bool emitAdd = false); void emitNxtIG(bool emitAdd = false); @@ -2707,6 +2728,7 @@ inline void emitter::emitNewIG() emitGenIG(ig); } +#if !defined(JIT32_GCENCODER) // Start a new instruction group that is not interruptable inline void emitter::emitDisableGC() { @@ -2736,6 +2758,7 @@ inline void emitter::emitEnableGC() // instruction groups. emitForceNewIG = true; } +#endif // !defined(JIT32_GCENCODER) /*****************************************************************************/ #endif // _EMIT_H_ |