Someone Please Explain This

I don’t understand this claim:

Another problem is that it only supports 64 bit applications. Bye bye applets in Safari.

I found that in this article about Java 6 on Mac.

I always assumed that Java .class files are the same regardless of platform. A .class file compiled on one system should still run on Macs, even though their VM is 64-bit. But that quotation sounds as if the .class file format is different and code must be specifically compiled in some 64-bit mode to run on Macs. What am I missing?


7 Responses to “Someone Please Explain This”

Bob Lee Says:

The bytecode is still the same.

Is Safari still 32-bit?

Eric Burke Says:

So is he trying to say that Safari, a 32-bit app, cannot support the new JRE, which is 64-bit?

Weiqi Gao Says:

According to Alex (http://www.weiqigao.com/blog/2008/04/30/swt_detractors_rejoice.html#comment1209565827839), that’s apparently the case.

Ben Smith-Mannschott Says:

Yes. Safari is 32bit. And there’s no good reason for it to be 64bit. Surf many 4GB web pages? The real brain-damage is that apple’s Java1.6 is 64-bit only. What’s up with that? So, if you’re application depends on features introduced with 1.6 you can forget about write-once-run-anywhere.

$ file Safari.app/Contents/MacOS/Safari
Safari.app/Contents/MacOS/Safari: Mach-O universal binary with 2 architectures
Safari.app/Contents/MacOS/Safari (for architecture i386): Mach-O executable i386
Safari.app/Contents/MacOS/Safari (for architecture ppc7400): Mach-O executable ppc

Anonymous Coward Says:

A wild guess would be that the VM is 64 bit and can therefore not be loaded into a 32 bit application like Safari.

It’s perfectly possible for a 64bit browser to use a 32bit plugin.
Konqueror can do this for Flash, for instance.

Eric Burke Says:

We’re not talking about a 64-bit browser running a 32-bit plugin. We’re talking about a 32-bit browser running a 64-bit plugin.

Leave a Reply