Well, 32 bit might get relegated to microcontrollers soon, and other specialist stuff that doesnt run the JVM much. I cant see much mainstream 32 bit hardware being made in even 5 years.
This. Even _new_ ARM processors like A9 and A15 are still 32-bit, and this is at the heart of many (most?) smartphones. Many low end x86 processors like a lot of Atom chips are also 32-bit only. Just because most new consumer x86 is now 64-bit doesn't mean at all that it's time to sunset a 32-bit JVM (if you'll ever be able to do that).
Oh, it'll shift to 64-bit on ARM soon enough. Power efficiency. Flags register consumes less power and less memory (cache) subsystem traffic.
It's funny that only things 64-bit ARM doesn't help with is supporting more physical RAM (32-bit designs like Cortex A7 and A15 support 1 TB) or 64-bit register width (almost totally useless). You probably want to rather use 128-bit wide NEON instructions...
Gingerbread is roughly four and a half years old and it still runs on about 6 percent of Android devices in use. Adoption of new technology lags a lot more at the tail - if Android was going to be completely off 32-bit in five years time it would have to have significant adoption already.!
They dont tend to run the jvm. But they will quite likely end up running 64 bit as speeds increase and they get upgraded. Both mips and arm are pushing 64 bit quite a bit now, these type of applications dont really need 64 bit but it wont cost anything different.
Actually, quite a few set-top boxes do run Java and thus some form of a JVM (though perhaps not HotSpot). Of particular note, Java (specifically, BD-J) is a mandatory part of the Blu-Ray standard in order to implement things like interactive menus, disc updates (for post-release subtitle updates, for example), etc., so literally every device with Blu-Ray playback capability runs a JVM (probably HotSpot). I'd reckon most of these run 32-bit processors, and probably will for the next several years.
This isn't the only case where Java is part of the standards for various set-top boxen. Java's also commonplace as middleware on cable/satellite TV boxes, and (IIRC) some "smart TVs" use Java extensively.
That's just false. As of 2010 when I was working writing cable settop box software, cable settop boxes were legally obligated to ship with and run the JVM as part of OCAP antitrust regulation (the idea being that firmware written in Java could run on any settop box). I'm no longer in that industry, but unless something has changed in the last 5 years (which it may have) every new cable settop box shipped in the United States shipped with a JVM and booted into firmware that ran on the JVM.
As of that time, all of the platforms I worked on were 32-bit.
Before, I said, "I'm not sure where you're getting your information." Now I'm very sure you don't know what you're talking about.
Even today there are some minority 32-bit products around in the PC world where the Oracle Java VM can run.
For example the HP Stream 7 tablet runs Windows 8.1 32-bit edition on x86 Intel Atom Z3735G (CPU is x86-64 capable). It can only support the 32-bit JVM.