They're doing hybrid: both JIT/dynamic and install time

By: NoSpammer (no.delete@this.spam.com), June 23, 2020 4:04 am
Room: Moderated Discussions
Doug S (foo.delete@this.bar.bar) on June 22, 2020 6:14 pm wrote:
> They would have to, as there would be some applications or at least parts of them (any sort
> of generated or self-modifying code, Linus' example of applications that fiddle with the
> signal stack, and other such niche cases) where static translation isn't feasible.
>
> Though I wonder if a combination of both in the same application is even possible. Maybe it is all or nothing,
> either the static translator is able to do the job but when it can't it goes full JIT for that application.
>
> Maybe they've found a way to slide neatly between the two by maintaining enough "x86 state"
> in the translated binary to let the JIT cut in where necessary, but that sounds like it might
> be MUCH harder than static translation alone, which is already much harder than JIT. There
> are a lot of devils hidden in the details that will be interesting to find out more about.

There used to be tools like Resourcer and a couple others the names of which I cannot remember. They did impressive EXE to ASM conversion, correctly guessing many jump tables and target points. Still, here and there they were wrong, and even not looking at the code including C++ style virtual function tables or libraries doing self modification of code or all the function passing in C style structures that is common in libraries even now. So just recovering all the code entry points is a thing you cannot take for granted.

Then on the first pass you don't really know if any code will be modified in a way obscure to your static analyzer. For indirect jumps you cannot be sure where they will go and whether you have that trace already. So you may want to run an interpreter (and/or some other instrumentation) at quite a few points for the very first pass. Even after you have the first pass correct it's not decidable what you might get in the future, so keep the state around, keep some instrumentation around, keep JIT around. You will need a huge bag of tricks to cover all the bases.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Woo Hoo!!!!!!!Maynard Handley2020/06/22 11:26 AM
  Woo Hoo!!!!!!!Maynard Handley2020/06/22 11:44 AM
    Woo Hoo!!!!!!!hobold2020/06/22 12:15 PM
    ARM Mac Performance figuresChester2020/06/22 01:32 PM
      ARM Mac Performance figuresMaynard Handley2020/06/22 02:25 PM
        ARM Mac Performance figuresChester2020/06/22 02:45 PM
        ARM Mac Performance figuresAnne O. Nymous2020/06/22 02:48 PM
          ARM Mac Performance figuresanon2020/06/22 05:55 PM
            ARM Mac Performance figuresDoug S2020/06/22 06:22 PM
              ARM Mac Performance figuresMaynard Handley2020/06/22 07:39 PM
                Why are you yelling at someone who agrees with you? (NT)nobody in particular2020/06/22 08:41 PM
                  Why are you yelling at someone who agrees with you?anon2020/06/22 10:55 PM
                  Why are you yelling at someone who agrees with you?Maynard Handley2020/06/22 11:48 PM
                    Why are you yelling at someone who agrees with you?Doug S2020/06/23 02:00 AM
                      Why are you yelling at someone who agrees with you?Maynard Handley2020/06/23 09:04 AM
                      Why are you yelling at someone who agrees with you?Maynard Handley2020/06/23 10:28 AM
                ARM Mac Performance figuresAnne O. Nymous2020/06/23 01:45 AM
        I agree!David Kanter2020/06/22 06:55 PM
          Apple already answered...Jouni Osmala2020/06/23 01:48 AM
            "Performs like desktop" is so vague that it doesn't mean anything. (NT)Foo_2020/06/23 01:56 AM
              Consumes power like Laptop is less vague :D Jouni Osmala2020/06/23 02:26 AM
                Consumes power like Laptop is less vague :D Doug S2020/06/23 02:28 AM
                Consumes power like Laptop is less vague :D Foo_2020/06/23 04:59 AM
            Apple already answered...Doug S2020/06/23 02:27 AM
      ARM Mac Performance figurespgerassi2020/06/22 05:29 PM
        ARM Mac Performance figuresnobody in particular2020/06/22 05:55 PM
        ARM Mac Performance figuresMaynard Handley2020/06/22 07:55 PM
          ARM Mac Performance figurespgerassi2020/06/23 10:09 AM
            ARM Mac Performance figuresnobody in particular2020/06/23 01:30 PM
              ARM Mac Performance figurespgerassi2020/06/23 04:06 PM
                ARM Mac Performance figuresanon2020/06/23 05:26 PM
                ARM Mac Performance figuresnobody in particular2020/06/23 05:27 PM
                  ARM Mac Performance figurespgerassi2020/06/24 07:49 AM
                    ARM Mac Performance figuresFoo_2020/06/24 11:37 AM
                ARM Mac Performance figuresvvid2020/06/23 05:51 PM
                  ARM Mac Performance figurespgerassi2020/06/24 08:48 AM
                    ARM Mac Performance figuresJouni Osmala2020/06/24 10:23 AM
                    ARM Mac Performance figuresvvid2020/06/24 01:52 PM
                    ARM Mac Performance figuresanon2020/06/24 02:22 PM
      ARM Mac Performance figuresRonald Maas2020/06/22 11:52 PM
    "translated at install time"Doug S2020/06/22 03:47 PM
      They're doing hybrid: both JIT/dynamic and install time (NT)anon2020/06/22 04:22 PM
        They're doing hybrid: both JIT/dynamic and install timeDoug S2020/06/22 06:14 PM
          They're doing hybrid: both JIT/dynamic and install timeMark Roulo2020/06/22 07:38 PM
            They're doing hybrid: both JIT/dynamic and install timeDoug S2020/06/23 02:04 AM
              They're doing hybrid: both JIT/dynamic and install timeMark Roulo2020/06/23 08:36 AM
          They're doing hybrid: both JIT/dynamic and install timeMaynard Handley2020/06/22 08:04 PM
            They're doing hybrid: both JIT/dynamic and install timenobody in particular2020/06/22 08:44 PM
              They're doing hybrid: both JIT/dynamic and install timeMaynard Handley2020/06/22 11:55 PM
              They're doing hybrid: both JIT/dynamic and install timeAnne O. Nymous2020/06/23 01:51 AM
              They're doing hybrid: both JIT/dynamic and install timegallier22020/06/23 02:37 AM
          They're doing hybrid: both JIT/dynamic and install timeNoSpammer2020/06/23 04:04 AM
  Additional detailsnobody in particular2020/06/22 11:53 AM
    Additional detailsjuanrga2020/06/22 12:06 PM
      Additional detailsMaynard Handley2020/06/22 12:13 PM
    Additional detailsBeastian2020/06/22 12:20 PM
    Additional detailsRonald Maas2020/06/22 10:36 PM
      Additional detailsanon22020/06/22 11:29 PM
      Additional detailsMaynard Handley2020/06/22 11:57 PM
        Additional detailsRonald Maas2020/06/23 12:10 AM
        BT remains hard and unsolved in generalhobold2020/06/23 01:07 AM
          BT remains hard and unsolved in generalAnne O. Nymous2020/06/23 01:58 AM
            BT remains hard and unsolved in generalDoug S2020/06/23 02:20 AM
              BT remains hard and unsolved in generalNoSpammer2020/06/23 03:45 AM
                BT remains hard and unsolved in generalDoug S2020/06/23 04:04 AM
                BT remains hard and unsolved in generalMaynard Handley2020/06/23 09:46 AM
              BT remains hard and unsolved in generaldmcq2020/06/23 04:00 AM
                BT remains hard and unsolved in generalDoug S2020/06/23 04:13 AM
                  BT remains hard and unsolved in generalRichard S2020/06/23 05:25 AM
                    BT remains hard and unsolved in generalDoug S2020/06/23 08:41 AM
              BT remains hard and unsolved in generalMaynard Handley2020/06/23 09:20 AM
          BT remains hard and unsolved in generalMaynard Handley2020/06/23 09:14 AM
            they are not actually transitioninghobold2020/06/24 03:33 AM
              they are not actually transitioningnobody in particular2020/06/24 04:22 AM
              they are not actually transitioningAnne O. Nymous2020/06/24 04:41 AM
                When the facts change...James2020/06/24 08:15 AM
                  When the facts change (Apple Silicon in 2006????)wumpus2020/06/25 10:51 AM
                    When the facts change (Apple Silicon in 2006????)Dummond D. Slow2020/06/25 03:33 PM
                      When the facts change (Apple Silicon in 2006????)Nikdo2020/06/25 06:39 PM
                        When the facts change (Apple Silicon in 2006????)wumpus2020/06/26 06:43 AM
                          PA-Semi purchase was an acqui-hireMark Roulo2020/06/26 06:56 AM
                            PA-Semi purchase was an acqui-hireUngo2020/06/26 10:47 PM
                they are not actually adding value?Daniel B2020/06/25 07:36 AM
                  they are not actually adding value?Ricardo B2020/06/25 12:11 PM
              they are not actually transitioningDoug S2020/06/24 10:08 AM
          BT remains hard and unsolved in generalUngo2020/06/24 01:49 AM
  Woo Hoo!!!!!!!Linus Torvalds2020/06/22 12:46 PM
    Woo Hoo!!!!!!!Linus Torvalds2020/06/22 12:55 PM
      Woo Hoo!!!!!!!Robert David Graham2020/06/22 01:34 PM
        Woo Hoo!!!!!!!Linus Torvalds2020/06/22 02:46 PM
      Woo Hoo!!!!!!!Doug S2020/06/22 03:50 PM
    Woo Hoo!!!!!!!Maynard Handley2020/06/22 01:28 PM
    Compaq AlphaYuhong Bao2020/06/22 06:08 PM
  How long before they unify OS X and iOS?anonymous22020/06/22 12:53 PM
    How long before they unify OS X and iOS?nobody in particular2020/06/22 12:55 PM
      How long before they unify OS X and iOS?anonymous22020/06/22 01:18 PM
        How long before they unify OS X and iOS?Doug S2020/06/23 02:36 AM
      How long before they unify OS X and iOS?Andrew Clough2020/06/22 05:00 PM
    How long before they unify OS X and iOS?Maynard Handley2020/06/22 01:31 PM
    How long before they unify OS X and iOS?James2020/06/23 02:19 AM
  Any idea which process? 7nm+ ? (NT)anonymous22020/06/22 02:26 PM
    Any idea which process? 7nm+ ?Maynard Handley2020/06/22 02:52 PM
  No point in getting Intel based Macsanonymous22020/06/23 05:08 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?