ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/compiler/compemu_support.cpp
Revision 1.23 - (view) (annotate) - [select for diffs]
2004-01-12T15:29:30Z (20 years, 6 months ago) by cebix
Branch: MAIN
CVS Tags: nigel-build-15, nigel-build-16
Changes since 1.22: +2 -2 lines
Diff to previous 1.22
Happy New Year! :)

Revision 1.22 - (view) (annotate) - [select for diffs]
2003-11-21T14:20:00Z (20 years, 7 months ago) by gbeauche
Branch: MAIN
Changes since 1.21: +34 -1 lines
Diff to previous 1.21
Implement lazy icache range invalidation. Disable for now until it shows
a real benefit over only 2%

Revision 1.21 - (view) (annotate) - [select for diffs]
2003-10-14T10:29:19Z (20 years, 8 months ago) by gbeauche
Branch: MAIN
Changes since 1.20: +74 -10 lines
Diff to previous 1.20
Add "jitblacklist" prefs item so that opcodes ranges could be excluded for
translation. This should help debugging of (badly) translated code.

Usage: jitblacklist xxxx(-yyyy)?(;xxxx(-yyyy)?)*
where xxxx/yyyy are hexadecimal numbers

Revision 1.20 - (view) (annotate) - [select for diffs]
2003-10-03T18:18:15Z (20 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.19: +58 -1 lines
Diff to previous 1.19
Make sure a 32-bit B2/JIT works reasonnably well on AMD64 too. This implies
to force RAMBaseHost < 0x80000000. This is empirically determined to work on
Linux/x86 and Linux/amd64.

Revision 1.19 - (view) (annotate) - [select for diffs]
2003-10-02T09:51:14Z (20 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.18: +1 -0 lines
Diff to previous 1.18
flags are live after a call to fflags_into_flags_internal()

Revision 1.18 - (view) (annotate) - [select for diffs]
2003-03-21T19:12:44Z (21 years, 3 months ago) by gbeauche
Branch: MAIN
CVS Tags: nigel-build-12, nigel-build-13
Changes since 1.17: +250 -21 lines
Diff to previous 1.17
Remove some dead code. Start implementation of optimized calls to interpretive
fallbacks for untranslatable instruction handlers. Disabled for now since
call_m_01() is not correctly imeplemented yet.

Revision 1.17 - (view) (annotate) - [select for diffs]
2003-03-19T16:28:23Z (21 years, 3 months ago) by gbeauche
Branch: MAIN
Changes since 1.16: +11 -2 lines
Diff to previous 1.16
Add facility to filter out some opcodes from the compfunctbl[] et al.

Revision 1.16 - (view) (annotate) - [select for diffs]
2003-03-13T20:34:34Z (21 years, 4 months ago) by gbeauche
Branch: MAIN
Changes since 1.15: +14 -9 lines
Diff to previous 1.15
Implement a generic setzflg_l() for P4, thus permitting to re-enable
translation of ADDX/SUBX/BCLR/BTST/BSET/BCHG instructions. i.e. make
it faster. ;-)

Revision 1.15 - (view) (annotate) - [select for diffs]
2003-03-13T15:57:01Z (21 years, 4 months ago) by gbeauche
Branch: MAIN
Changes since 1.14: +21 -10 lines
Diff to previous 1.14
Workaround change in flags handling for BSF instruction on Pentium 4.
i.e. currently disable translation of ADDX/SUBX/B<CHG,CLR,SET,TST> instructions
in that case. That is to say, better (much?) slower than inaccurate. :-(

Revision 1.14 - (view) (annotate) - [select for diffs]
2003-03-13T09:51:31Z (21 years, 4 months ago) by gbeauche
Branch: MAIN
Changes since 1.13: +3 -0 lines
Diff to previous 1.13
Fix align_target with a padding of 0 bytes

Revision 1.13 - (view) (annotate) - [select for diffs]
2002-11-02T18:13:29Z (21 years, 8 months ago) by gbeauche
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12
Remove obsolete CFLOW_* constants but keep cpuop_{begin,end} for an
inline-threaded core.

Revision 1.12 - (view) (annotate) - [select for diffs]
2002-10-12T16:27:13Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.11: +15 -4 lines
Diff to previous 1.11
Add raw_emit_nop_filler() with more efficient no-op fillers stolen from
GNU binutils 2.12.90.0.15. Speed bump is marginal (less than 6%). Make it
default though, that's conditionalized by tune_nop_fillers constant.

Revision 1.11 - (view) (annotate) - [select for diffs]
2002-10-03T16:13:46Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.10: +25 -0 lines
Diff to previous 1.10
JIT add copyright notices just to notify people that's real derivative
work from GPL code (UAE-JIT). Additions and improvements are from B2
developers.

Revision 1.10 - (view) (annotate) - [select for diffs]
2002-10-03T15:05:01Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.9: +5 -11 lines
Diff to previous 1.9
- Turn on runtime detection of loop and jump alignment as Aranym people
  reported they got some improvement with it and larger loops. Small
  loops are an issue for now until unrolling is implemented for DBcc.
- Const jumps are identified in readcpu. I don't want to duplicate code
  uselessly. Rather, it's the JIT job to know whether we are doing block
  inlining and un-marking those instructions as end-of-block.

Revision 1.9 - (view) (annotate) - [select for diffs]
2002-10-02T16:22:51Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.8: +43 -1 lines
Diff to previous 1.8
Add PROFILE_UNTRANSLATED_INSNS information. Interestingly, the following
are the bottleneck now: DIVS, BSR.L (why isn't it translated yet?),
bit-field instructions (I need to self-motivate enough for that), and
A-Traps.

Revision 1.8 - (view) (annotate) - [select for diffs]
2002-10-02T15:55:10Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.7: +122 -54 lines
Diff to previous 1.7
- Remove dead code in readcpu.cpp concerning CONST_JUMP control flow.
- Replace unused fl_compiled with fl_const_jump
- Implement block inlining enabled with USE_INLINING && USE_CHECKSUM_INFO.
  However, this is currently disabled as it doesn't give much and exhibits
  even more a cache/code generation problem with FPU JIT compiled code.
- Actual checksum values are now integral part of a blockinfo regardless
  of USE_CHECKSUM_INFO is set or not. Reduce number of elements in that
  structure and speeds up a little calculation of checksum of chained blocks.
- Don't care about show_checksum() for now.

Revision 1.7 - (view) (annotate) - [select for diffs]
2002-10-01T16:22:36Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.6: +123 -59 lines
Diff to previous 1.6
- Rewrite blockinfo allocator et al. Use a template class so that this
  can work with other types related to blockinfos.
- Add new method to compute checksums. This should permit code inlining
  and follow-ups of const_jumps without breaking the lazy cache invalidator.
  aka. chain infos for checksuming. TODO: Incomplete support thus disabled.

Revision 1.6 - (view) (annotate) - [select for diffs]
2002-10-01T09:39:55Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.5: +37 -19 lines
Diff to previous 1.5
- Optimize use of quit_program variable. This is a real boolean for B2.
- Remove unused/dead code concerning surroundings of (debugging).
- m68k_compile_execute() is generated and optimized code now.

Revision 1.5 - (view) (annotate) - [select for diffs]
2002-09-19T14:59:03Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.4: +20 -26 lines
Diff to previous 1.4
- Rewrite raw_init_cpu() to match more details, from kernel sources.
- Add possibility to tune code alignment to the underlying processor. However,
  this is turned off as I don't see much improvement and align_jumps = 64
  for Athlon looks suspicious to me.
- Remove two extra align_target() that are already covered.
- Remove unused may_trap() predicate.

Revision 1.4 - (view) (annotate) - [select for diffs]
2002-09-18T11:41:56Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.3: +4 -0 lines
Diff to previous 1.3
Move -DSAHF_SETO_PROFITABLE down in x86 & gas specific block. Also ensure
SAHF_SETO_PROFITABLE is defined when compiling the JIT. Aka I don't want
to support obsolete and probably bogus code nowadays.

Revision 1.3 - (view) (annotate) - [select for diffs]
2002-09-18T09:55:37Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.2: +3 -11 lines
Diff to previous 1.2
Don't forget to use vm_realease() to free up translation cache. Also free
the right amount of memory that was previously allocated.

Revision 1.2 - (view) (annotate) - [select for diffs]
2002-09-18T07:50:55Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.1: +3 -8 lines
Diff to previous 1.1
Use vm_acquire() to allocate translation cache

Revision 1.1 - (view) (annotate) - [select for diffs]
2002-09-17T16:04:06Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Import JIT compiler

Convenience Links

Links to HEAD: (view) (annotate) Links to nigel-build-16: (view) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a