From 91a46f5e977bfc33ebf37d3f41d803646884883b Mon Sep 17 00:00:00 2001 From: asmodai Date: Tue, 19 Jan 2016 19:37:13 +0300 Subject: [PATCH] Test --- rehlds/rehlds/jitasm.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rehlds/rehlds/jitasm.h b/rehlds/rehlds/jitasm.h index 233706b..48fcf0a 100644 --- a/rehlds/rehlds/jitasm.h +++ b/rehlds/rehlds/jitasm.h @@ -1443,6 +1443,9 @@ namespace compiler { } /// jitasm frontend +#ifndef _WIN32 +#pragma inline-max-per-routine(0) +#endif struct Frontend { typedef jitasm::Addr Addr; @@ -1726,11 +1729,17 @@ struct Frontend return codebuff_.GetCodeSize(); } - void AppendInstr(InstrID id, uint32 opcode, uint32 encoding_flag, const detail::Opd& opd1 = detail::Opd(), const detail::Opd& opd2 = detail::Opd(), const detail::Opd& opd3 = detail::Opd(), const detail::Opd& opd4 = detail::Opd(), const detail::Opd& opd5 = detail::Opd(), const detail::Opd& opd6 = detail::Opd()) + void _AppendInstr(InstrID id, uint32 opcode, uint32 encoding_flag, const detail::Opd& opd1, const detail::Opd& opd2, const detail::Opd& opd3, const detail::Opd& opd4, const detail::Opd& opd5, const detail::Opd& opd6) { instrs_.push_back(Instr(id, opcode, encoding_flag, opd1, opd2, opd3, opd4, opd5, opd6)); } + void AppendInstr(InstrID id, uint32 opcode, uint32 encoding_flag, const detail::Opd& opd1 = detail::Opd(), const detail::Opd& opd2 = detail::Opd(), const detail::Opd& opd3 = detail::Opd(), const detail::Opd& opd4 = detail::Opd(), const detail::Opd& opd5 = detail::Opd(), const detail::Opd& opd6 = detail::Opd()) + { + #pragma noinline + _AppendInstr(id, opcode, encoding_flag, opd1, opd2, opd3, opd4, opd5, opd6); + } + void AppendJmp(size_t label_id) { AppendInstr(I_JMP, 0, E_SPECIAL, Imm64(label_id));