cvsuser     04/07/16 07:35:47

  Modified:    jit/i386 jit_emit.h
               src      exec.c interpreter.c
  Log:
  Pie-thon 72 - The return of JIT CGP
  
  Revision  Changes    Path
  1.118     +7 -5      parrot/jit/i386/jit_emit.h
  
  Index: jit_emit.h
  ===================================================================
  RCS file: /cvs/public/parrot/jit/i386/jit_emit.h,v
  retrieving revision 1.117
  retrieving revision 1.118
  diff -u -w -r1.117 -r1.118
  --- jit_emit.h        8 Jul 2004 16:11:36 -0000       1.117
  +++ jit_emit.h        16 Jul 2004 14:35:43 -0000      1.118
  @@ -3,7 +3,7 @@
    *
    * i386
    *
  - * $Id: jit_emit.h,v 1.117 2004/07/08 16:11:36 leo Exp $
  + * $Id: jit_emit.h,v 1.118 2004/07/16 14:35:43 leo Exp $
    */
   
   #if !defined(PARROT_I386_JIT_EMIT_H_GUARD)
  @@ -11,6 +11,8 @@
   
   #include <assert.h>
   
  +#define USE_CGP
  +
   #if defined HAVE_COMPUTED_GOTO && defined __GNUC__ && defined USE_CGP
   #  define JIT_CGP
   #endif
  @@ -2668,7 +2670,7 @@
       /* when cur_opcode == 1, cgp_core jumps back here
        * when EAX == 0, the official return from HALT was called */
       jit_emit_test_r_i(jit_info->native_ptr, emit_EAX);
  -    emitm_jxs(jit_info->native_ptr, emitm_jnz, 7);
  +    emitm_jxs(jit_info->native_ptr, emitm_jnz, 5);
       emitm_popl_r(jit_info->native_ptr, emit_EBX);
       jit_emit_stack_frame_leave(jit_info->native_ptr);
       emitm_ret(jit_info->native_ptr);
  @@ -2712,7 +2714,7 @@
               (INTVAL)cur_section->op_count >= 2 + last_is_branch) {
           int saved = 0;
           offset = (jit_info->cur_op - interpreter->code->byte_code) +
  -            interpreter->code->cur_cs->prederef_code;
  +            interpreter->code->cur_cs->prederef.code;
   
           jit_emit_mov_ri_i(jit_info->native_ptr, emit_ESI, offset);
           emitm_callm(jit_info->native_ptr, emit_ESI, 0, 0, 0);
  @@ -2721,7 +2723,7 @@
            */
           if (last_is_branch) {
               offset = (cur_section->end - interpreter->code->byte_code) +
  -                interpreter->code->cur_cs->prederef_code;
  +                interpreter->code->cur_cs->prederef.code;
               cur_section->done = -1;
               /* ins to skip */
               cur_section->ins_count = cur_section->op_count - 1;
  @@ -2732,7 +2734,7 @@
                * when the branch is non JIT, we are in the above case
                */
               offset = (cur_section->next->begin - interpreter->code->byte_code)
  -                + interpreter->code->cur_cs->prederef_code;
  +                + interpreter->code->cur_cs->prederef.code;
               cur_section->done = 1;
           }
           *offset = ((op_func_t*)interpreter->op_lib->op_func_table)[2];
  
  
  
  1.21      +3 -3      parrot/src/exec.c
  
  Index: exec.c
  ===================================================================
  RCS file: /cvs/public/parrot/src/exec.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -w -r1.20 -r1.21
  --- exec.c    23 Apr 2004 09:21:12 -0000      1.20
  +++ exec.c    16 Jul 2004 14:35:47 -0000      1.21
  @@ -1,6 +1,6 @@
   /*
   Copyright: 2001-2003 The Perl Foundation.  All Rights Reserved.
  -$Id: exec.c,v 1.20 2004/04/23 09:21:12 jrieks Exp $
  +$Id: exec.c,v 1.21 2004/07/16 14:35:47 leo Exp $
   
   =head1 NAME
   
  @@ -91,12 +91,12 @@
       /* prederef_code */
       j = (int)cgp_core;
       j = (int)((op_func_t*)interpreter->op_lib->op_func_table)[2] - j;
  -    k = (int *)interpreter->prederef_code;
  +    k = (int *)interpreter->code->cur_cs->prederef.code;
       for (i = 0; i < (int)interpreter->code->cur_cs->base.size; i++) { 
           if (k[i] != j)
               k[i] = 0;
       }
  -    add_data_member(obj, interpreter->prederef_code,
  +    add_data_member(obj, interpreter->code->cur_cs->prederef.code,
           interpreter->code->cur_cs->base.size * sizeof(void *));
   #endif /* JIT_CGP */
       /* bytecode_offset */
  
  
  
  1.312     +2 -1      parrot/src/interpreter.c
  
  Index: interpreter.c
  ===================================================================
  RCS file: /cvs/public/parrot/src/interpreter.c,v
  retrieving revision 1.311
  retrieving revision 1.312
  diff -u -w -r1.311 -r1.312
  --- interpreter.c     5 May 2004 13:10:35 -0000       1.311
  +++ interpreter.c     16 Jul 2004 14:35:47 -0000      1.312
  @@ -1,6 +1,6 @@
   /*
   Copyright: 2001-2003 The Perl Foundation.  All Rights Reserved.
  -$Id: interpreter.c,v 1.311 2004/05/05 13:10:35 leo Exp $
  +$Id: interpreter.c,v 1.312 2004/07/16 14:35:47 leo Exp $
   
   =head1 NAME
   
  @@ -50,6 +50,7 @@
   #include "parrot/method_util.h"
   #include "parrot/dynext.h"
   
  +#define USE_CGP
   
   static void setup_event_func_ptrs(Parrot_Interp interpreter);
   
  
  
  

Reply via email to