diff options
Diffstat (limited to 'tcg')
-rw-r--r-- | tcg/tcg-dyngen.c | 2 | ||||
-rw-r--r-- | tcg/tcg-op.h | 2 | ||||
-rw-r--r-- | tcg/tcg-opc.h | 2 | ||||
-rw-r--r-- | tcg/tcg.c | 3 |
4 files changed, 9 insertions, 0 deletions
diff --git a/tcg/tcg-dyngen.c b/tcg/tcg-dyngen.c index 1cc084e6ef..5780372124 100644 --- a/tcg/tcg-dyngen.c +++ b/tcg/tcg-dyngen.c @@ -464,6 +464,7 @@ static inline void ia64_apply_fixes (uint8_t **gen_code_pp, #endif #endif +#ifndef CONFIG_NO_DYNGEN_OP const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr) { uint8_t *gen_code_ptr; @@ -480,3 +481,4 @@ const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr) s->code_ptr = gen_code_ptr; return opparam_ptr; } +#endif diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index 2e8b5e8b6c..8f0897cdb1 100644 --- a/tcg/tcg-op.h +++ b/tcg/tcg-op.h @@ -23,8 +23,10 @@ */ #include "tcg.h" +#ifndef CONFIG_NO_DYNGEN_OP /* legacy dyngen operations */ #include "gen-op.h" +#endif int gen_new_label(void); diff --git a/tcg/tcg-opc.h b/tcg/tcg-opc.h index 4d91d117db..ee95910620 100644 --- a/tcg/tcg-opc.h +++ b/tcg/tcg-opc.h @@ -21,7 +21,9 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#ifndef CONFIG_NO_DYNGEN_OP #include "dyngen-opc.h" +#endif #ifndef DEF2 #define DEF2(name, oargs, iargs, cargs, flags) DEF(name, oargs + iargs + cargs, 0) @@ -1752,6 +1752,8 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf, goto next; case INDEX_op_end: goto the_end; + +#ifndef CONFIG_NO_DYNGEN_OP case 0 ... INDEX_op_end - 1: /* legacy dyngen ops */ #ifdef CONFIG_PROFILER @@ -1768,6 +1770,7 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf, args = dyngen_op(s, opc, args); } goto next; +#endif default: /* Note: in order to speed up the code, it would be much faster to have specialized register allocator functions for |