home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / programmer / 6977 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.7 KB

  1. Path: aargh.incubus.sub.org!marc
  2. From: marc@aargh.incubus.sub.org (Marc 'Nepomuk' Heuler)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: 680X0 -> PPC translator?
  5. Message-ID: <Z4ymy*Vya@aargh.incubus.sub.org>
  6. Date: Sat, 06 Apr 1996 12:14:53 CET
  7. Reply-To: marc@aargh.incubus.sub.org
  8. References: <31499F8E.26A9@netvision.net.il> <volker.0fw1@vb.franken.de> <315800D7.1854@sapiens.com>
  9.  <volker.0g32@vb.franken.de> <315C198B.49C2@netvision.net.il> <volker.0g5w@vb.franken.de>
  10.  <1996Apr2.230841.8275@scala.scala.com>
  11. Organization: Data Design
  12. X-Newsreader: Arn V1.03a
  13.  
  14. In article <1996Apr2.230841.8275@scala.scala.com>, Dave Haynie writes:
  15.  
  16. > Sure you can. The practical binary translators that exist today (and
  17. > there are some, which work very well) do this very simply. They work
  18. > in conjunction with an emulator, and the emulator keeps track of what
  19. > runs and what doesn't. Anything that's executed is code, and such a
  20. > chunk can itself be translated based on static analysis. Anything that
  21. > doesn't run might not be code. So you don't translate it; if it's
  22. > data, you're safe. If it's code, and it never runs, there's no point
  23. > in translating it. If it does run later, you translate it later. 
  24.  
  25. What happens if a program is buggy and seldomly executes an important piece
  26. of  data  as  code?  After this happened _once_ the data gets translated as
  27. code,  then  this  false  code misbehaves/crashes (equivalent to the native
  28. system).   If  the  translator  already  stored the new translation info on
  29. disk,  future  attempts  to  start the program will fail, because now vital
  30. data  has  been  translated  as  code!  Things that used to work in the new
  31. environment  suddenly  stop working.  What mechanism prevents this scenario
  32. from happening?
  33.