ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/compiler/compemu.h
(Generate patch)

Comparing BasiliskII/src/uae_cpu/compiler/compemu.h (file contents):
Revision 1.1 by gbeauche, 2002-09-17T16:04:06Z vs.
Revision 1.5 by gbeauche, 2002-10-03T16:13:46Z

# Line 1 | Line 1
1 + /*
2 + *  compiler/compemu.h - Public interface and definitions
3 + *
4 + *  Original 68040 JIT compiler for UAE, copyright 2000-2002 Bernd Meyer
5 + *
6 + *  Adaptation for Basilisk II and improvements, copyright 2000-2002
7 + *    Gwenole Beauchesne
8 + *
9 + *  Basilisk II (C) 1997-2002 Christian Bauer
10 + *  
11 + *  This program is free software; you can redistribute it and/or modify
12 + *  it under the terms of the GNU General Public License as published by
13 + *  the Free Software Foundation; either version 2 of the License, or
14 + *  (at your option) any later version.
15 + *
16 + *  This program is distributed in the hope that it will be useful,
17 + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
18 + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 + *  GNU General Public License for more details.
20 + *
21 + *  You should have received a copy of the GNU General Public License
22 + *  along with this program; if not, write to the Free Software
23 + *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
24 + */
25 +
26   #ifndef COMPEMU_H
27   #define COMPEMU_H
28  
# Line 37 | Line 62 | union cacheline {
62   */
63   #define USE_SEPARATE_BIA 1
64  
65 + /* Use chain of checksum_info_t to compute the block checksum */
66 + #define USE_CHECKSUM_INFO 1
67 +
68 + /* Use code inlining, aka follow-up of constant jumps */
69 + #define USE_INLINING 1
70 +
71 + /* Inlining requires the chained checksuming information */
72 + #if USE_INLINING
73 + #undef  USE_CHECKSUM_INFO
74 + #define USE_CHECKSUM_INFO 1
75 + #endif
76 +
77   #define USE_F_ALIAS 1
78   #define USE_OFFSET 1
79   #define COMP_DEBUG 1
# Line 485 | Line 522 | typedef struct dep_t {
522    struct dep_t*       next;
523   } dependency;
524  
525 + typedef struct checksum_info_t {
526 +  uae_u8 *start_p;
527 +  uae_u32 length;
528 +  struct checksum_info_t *next;
529 + } checksum_info;
530 +
531   typedef struct blockinfo_t {
532      uae_s32 count;
533      cpuop_func* direct_handler_to_use;
# Line 497 | Line 540 | typedef struct blockinfo_t {
540      cpuop_func* direct_pen;
541      cpuop_func* direct_pcc;
542  
500    uae_u8* nexthandler;
543      uae_u8* pc_p;
544      
545      uae_u32 c1;    
546      uae_u32 c2;
547 + #if USE_CHECKSUM_INFO
548 +    checksum_info *csi;
549 + #else
550      uae_u32 len;
551 +    uae_u32 min_pcp;
552 + #endif
553  
554      struct blockinfo_t* next_same_cl;
555      struct blockinfo_t** prev_same_cl_p;  
556      struct blockinfo_t* next;
557      struct blockinfo_t** prev_p;
558  
512    uae_u32 min_pcp;
559      uae_u8 optlevel;  
560      uae_u8 needed_flags;  
561      uae_u8 status;  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines