Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Apple Technology

Apple Watch Apps Instantly Went 64-Bit Thanks To Obscure Bitcode Option (venturebeat.com) 149

Jeremy Horwitz, writing for VentureBeat: An obscure feature in Apple's Xcode development software enabled Apple Watch apps to make an instant transition from 32-bit to 64-bit last month, an unheralded win for Apple Watch developers inside and outside the company. The "Enable Bitcode" feature was introduced to developers three years ago, but the Accidental Tech Podcast suggests that it was quietly responsible for the smooth launch of software for the Apple Watch Series 4 last month.

Support for Bitcode was originally added to Xcode 7 in November 2015, subsequently becoming optional for iOS apps but mandatory for watchOS and tvOS apps. Bitcode is an "intermediate representation" halfway between human-written app code and machine code. Rather than the developer sending a completely compiled app to the App Store, enabling Bitcode provides Apple with a partially compiled app that it can then finish compiling for whatever processors it wants to support.
The report suggests that this change allowed Apple to avoid the great "appocalypse" which occurred when it decided to kill support for 32-bit apps on iOS.
This discussion has been archived. No new comments can be posted.

Apple Watch Apps Instantly Went 64-Bit Thanks To Obscure Bitcode Option

Comments Filter:
  • by Anonymous Coward

    Did Apple Watches suddenly gain some dire need for 64-bit address space?

    • Did Apple Watches suddenly gain some dire need for 64-bit address space?

      You can never have too many bits, you know. I'm surprised Apple stopped at 64. At those prices, I'm thinking they should have at least like several hundred bits. Also, the iWatch should be able to sense when a nearby woman is menstruating so I can run far away (or not, depending on your particular tastes).

      I might try a smart watch when they get under $100, but until then, I'm just going to have to take y'all's word for it. I guess

    • by Anubis IV ( 1279820 ) on Monday October 01, 2018 @04:01PM (#57407048)

      There are other gains to be had. For instance, updating apps to 64-bit means that everything links against Apple's 64-bit library binaries. As a result, Apple can drop the 32-bit binaries from watchOS, leading to less maintenance, smaller and faster system update downloads, and more space available for the user to use on the device. Given that these are rather constrained devices, every little bit (pun intended) helps.

      • Apple can drop the 32-bit binaries from watchOS, leading to less maintenance

        So you are saying, better for Apple, who cares about the user.

        smaller and faster system update downloads

        Wrong. 64 bit binaries are more bulky than 32 bit.

        and more space available for the user to use on the device

        Wrong again. On the device you only have 32 bit binaries/libraries or 64 bit. Unless Apple is really stupid, but that is another issue.

        Wrong, wrong, wrong. Typical Apple "facts".

        • Apple can drop the 32-bit binaries from watchOS, leading to less maintenance

          So you are saying, better for Apple, who cares about the user.

          Yep. Surely it would be better to automatically make all watch apps 32-bits to save space.

          (given that they can choose by flipping a switch)

        • by theM_xl ( 760570 )

          Given that Apple is now using a 64 bit processor for this new line, the alternatives for the user involve having either a set of BOTH 64 bit binaries and 32 bit binaries a la Windows, or barely any apps for their new device.

          Having both would most certainly be more bulky then only the 64 bit option. Using 32 bit binaries might be possible, but it seems like a waste of a 64 bit processor.

          As the 32 bit line dies out, devs responsible for it can be moved to maintaining the 64 bit branch. The user seems well ser

          • As the 32 bit line dies out, devs responsible for it can be moved to maintaining the 64 bit branch. The user seems well served.

            Huh? Apple is well served, not the user.

        • Most apps aren't really making use of 64-bits. The OS could make use of this if it needs more address space but those watches generally don't have that much all running at the same time. So now you have long registers most of which are rarely used.

          The difference between 16 and 32 bit was huge, because there were many applications that found limitations on the address space and were already commonly doing 32-bit arithmetic. Fo 32 to 64 bit on the PC it wasn't all that big a deal overall; we already had 64

        • Wrong. 64 bit binaries are more bulky than 32 bit.
          Idiot very much today?

          64bit binaries plus 32bit binaries are even more bulky than 64bit binaries alone! And that was the parents point.

          On the device you only have 32 bit binaries/libraries or 64 bit.
          Obviously you are not a software developer. Obviously you have both kinds of libraries, unless the binaries are statically linked and don't need libraries on the device.

        • by DRJlaw ( 946416 )

          Apple can drop the 32-bit binaries from watchOS, leading to less maintenance

          So you are saying, better for Apple, who cares about the user.

          Maintaining only one code base, rather than two, is better for both.

          smaller and faster system update downloads

          Wrong. 64 bit binaries are more bulky than 32 bit.

          Wrong. 64 bit + 32 bit is larger than 64 bit.

          and more space available for the user to use on the device

          Wrong again. On the device you only have 32 bit binaries/libraries or 64 bit.

          Because you've dropped 32-bit bin

    • by Waffle Iron ( 339739 ) on Monday October 01, 2018 @04:23PM (#57407174)

      Did Apple Watches suddenly gain some dire need for 64-bit address space?

      If you don't switch to a 64-bit watch now, it will stop working in the year 2038!

      • by bob4u2c ( 73467 )
        Pft, 64 bit! You just moved the goal post a few feet, we need 128 bit or 256 bit watches now!

        Until then, we are all doomed on Sunday, December 4th of 292,277,026,596!
    • by Misagon ( 1135 )

      "64-bit ARM" (AArch64) is actually a different instruction set architecture: it is more modern and has more potential to run faster.
      It also supports the "AArch64-ilp32" ABI which restrict its pointers to 32 bits, so that it does need to use a 64-bit address space and waste memory on high bytes of pointers that are never used.

      But personally, I think a smart watch should have a slimmed-down extremely power-efficient CPU so that battery life times could start approach that of special-purpose watchbands and old

    • I guess if nothing else it will still function after 2038.

  • by Anonymous Coward

    it was mandatory on the platform for THREE FUCKING YEARS. hardly 'obscure'.

  • LLVM bitcode contains (and needs) the datalayout of the target. This datalayout means such things as default data sizes and alignment rules. Pointer size is different for 32- and 64-bit architectures, so same LLVM bitcode cannot work in both 32- and 64-bit mode.

    So, bitcode alone cannot explain portability to 64-bit.

    It might be that the development tools have compiled separate bitcode files for 32-and 64-bit architectures.

    • Data layout is optional. Even if it wasn't there's no reason Apple can't modify it for different targets when it does the compilation to machine code.

  • Frankly it is ridiculous that this sort of thing is even a problem. Apple, Google, Microsoft, etc should all be offering the ability to translate or run all 8-bit, 16-bit, 32-bit and 64-bit software on the newer OSs and hardware. It is an easy problem. They should also be offering emulation or JITC (Just In Time Compilation) or FRTC (First Run Time Compilation) for all older software to run on the newer hardware and OSs.

Think of it! With VLSI we can pack 100 ENIACs in 1 sq. cm.!

Working...