/[qemu]/qemu/target-i386/translate.c
ViewVC logotype

Diff of /qemu/target-i386/translate.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.38 by bellard, Sat Jan 8 18:58:29 2005 UTC revision 1.39 by bellard, Sun Jan 9 00:07:04 2005 UTC
# Line 61  static uint32_t *gen_opparam_ptr; Line 61  static uint32_t *gen_opparam_ptr;
61  static int x86_64_hregs;  static int x86_64_hregs;
62  #endif  #endif
63    
64    #ifdef USE_DIRECT_JUMP
65    #define TBPARAM(x)
66    #else
67    #define TBPARAM(x) (long)(x)
68    #endif
69    
70  typedef struct DisasContext {  typedef struct DisasContext {
71      /* current insn context */      /* current insn context */
72      int override; /* -1 if no override */      int override; /* -1 if no override */
# Line 1782  static inline void gen_jcc(DisasContext Line 1788  static inline void gen_jcc(DisasContext
1788          l1 = gen_new_label();          l1 = gen_new_label();
1789          func(l1);          func(l1);
1790    
1791          gen_op_goto_tb0();          gen_op_goto_tb0(TBPARAM(tb));
1792          gen_jmp_im(next_eip);          gen_jmp_im(next_eip);
1793          gen_op_movl_T0_im((long)tb + 0);          gen_op_movl_T0_im((long)tb + 0);
1794          gen_op_exit_tb();          gen_op_exit_tb();
1795    
1796          gen_set_label(l1);          gen_set_label(l1);
1797          gen_op_goto_tb1();          gen_op_goto_tb1(TBPARAM(tb));
1798          gen_jmp_im(val);          gen_jmp_im(val);
1799          gen_op_movl_T0_im((long)tb + 1);          gen_op_movl_T0_im((long)tb + 1);
1800          gen_op_exit_tb();          gen_op_exit_tb();
# Line 2179  static void gen_jmp_tb(DisasContext *s, Line 2185  static void gen_jmp_tb(DisasContext *s,
2185          if (s->cc_op != CC_OP_DYNAMIC)          if (s->cc_op != CC_OP_DYNAMIC)
2186              gen_op_set_cc_op(s->cc_op);              gen_op_set_cc_op(s->cc_op);
2187          if (tb_num)          if (tb_num)
2188              gen_op_goto_tb1();              gen_op_goto_tb1(TBPARAM(tb));
2189          else          else
2190              gen_op_goto_tb0();              gen_op_goto_tb0(TBPARAM(tb));
2191          gen_jmp_im(eip);          gen_jmp_im(eip);
2192          gen_op_movl_T0_im((long)tb + tb_num);          gen_op_movl_T0_im((long)tb + tb_num);
2193          gen_op_exit_tb();          gen_op_exit_tb();

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26