mirror of https://github.com/xemu-project/xemu.git
Prepare for op.c removal and zero legacy ops
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4095 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
06b3e1b3a9
commit
cf2be98437
|
@ -173,7 +173,10 @@ all: $(PROGS)
|
||||||
#########################################################
|
#########################################################
|
||||||
# cpu emulator library
|
# cpu emulator library
|
||||||
LIBOBJS=exec.o kqemu.o translate-all.o cpu-exec.o\
|
LIBOBJS=exec.o kqemu.o translate-all.o cpu-exec.o\
|
||||||
translate.o op.o host-utils.o
|
translate.o host-utils.o
|
||||||
|
ifndef CONFIG_NO_DYNGEN_OP
|
||||||
|
LIBOBJS+=op.o
|
||||||
|
endif
|
||||||
# TCG code generator
|
# TCG code generator
|
||||||
LIBOBJS+= tcg/tcg.o tcg/tcg-dyngen.o tcg/tcg-runtime.o
|
LIBOBJS+= tcg/tcg.o tcg/tcg-dyngen.o tcg/tcg-runtime.o
|
||||||
CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH)
|
CPPFLAGS+=-I$(SRC_PATH)/tcg -I$(SRC_PATH)/tcg/$(ARCH)
|
||||||
|
@ -270,7 +273,9 @@ endif
|
||||||
|
|
||||||
# libqemu
|
# libqemu
|
||||||
|
|
||||||
|
ifndef CONFIG_NO_DYNGEN_OP
|
||||||
OPC_H = gen-op.h dyngen-opc.h op.h
|
OPC_H = gen-op.h dyngen-opc.h op.h
|
||||||
|
endif
|
||||||
|
|
||||||
libqemu.a: $(LIBOBJS)
|
libqemu.a: $(LIBOBJS)
|
||||||
rm -f $@
|
rm -f $@
|
||||||
|
|
|
@ -464,6 +464,7 @@ static inline void ia64_apply_fixes (uint8_t **gen_code_pp,
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_NO_DYNGEN_OP
|
||||||
const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr)
|
const TCGArg *dyngen_op(TCGContext *s, int opc, const TCGArg *opparam_ptr)
|
||||||
{
|
{
|
||||||
uint8_t *gen_code_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;
|
s->code_ptr = gen_code_ptr;
|
||||||
return opparam_ptr;
|
return opparam_ptr;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -23,8 +23,10 @@
|
||||||
*/
|
*/
|
||||||
#include "tcg.h"
|
#include "tcg.h"
|
||||||
|
|
||||||
|
#ifndef CONFIG_NO_DYNGEN_OP
|
||||||
/* legacy dyngen operations */
|
/* legacy dyngen operations */
|
||||||
#include "gen-op.h"
|
#include "gen-op.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
int gen_new_label(void);
|
int gen_new_label(void);
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,9 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
#ifndef CONFIG_NO_DYNGEN_OP
|
||||||
#include "dyngen-opc.h"
|
#include "dyngen-opc.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef DEF2
|
#ifndef DEF2
|
||||||
#define DEF2(name, oargs, iargs, cargs, flags) DEF(name, oargs + iargs + cargs, 0)
|
#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;
|
goto next;
|
||||||
case INDEX_op_end:
|
case INDEX_op_end:
|
||||||
goto the_end;
|
goto the_end;
|
||||||
|
|
||||||
|
#ifndef CONFIG_NO_DYNGEN_OP
|
||||||
case 0 ... INDEX_op_end - 1:
|
case 0 ... INDEX_op_end - 1:
|
||||||
/* legacy dyngen ops */
|
/* legacy dyngen ops */
|
||||||
#ifdef CONFIG_PROFILER
|
#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);
|
args = dyngen_op(s, opc, args);
|
||||||
}
|
}
|
||||||
goto next;
|
goto next;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
/* Note: in order to speed up the code, it would be much
|
/* Note: in order to speed up the code, it would be much
|
||||||
faster to have specialized register allocator functions for
|
faster to have specialized register allocator functions for
|
||||||
|
|
Loading…
Reference in New Issue