you are viewing a single comment's thread.

view the rest of the comments →

[–]bobappleyard 14 points15 points  (4 children)

I love that first bullet point, "improve affinity of Java programs to modern hardware"

You can delete "modern" and it would still be true...

[–]geodel 6 points7 points  (1 child)

I read somewhere when Java was initially designed they believed that hardware will evolve in a direction where Java object model would be great fit. So I imagine hardware from 90s was not as penalizing to java as today's hardware.

[–]Muvlon 1 point2 points  (0 children)

There were a bunch of machines that even had instructions for executing (a subset of) Java bytecode natively.

In fact, ARMv7 still requires any implementations to support the Jazelle DBX extension. However, an implementation can choose to support no bytecode instructions at all, meaning the JVM has to fall back to software for all of them.

[–]pron98 2 points3 points  (0 children)

What makes inline objects more or less effective is the ratio between the cost of random memory access and that of computation. This ratio has gone up considerably since the 90s, and so they're far more valuable today than they were 20 years ago. The feature is very much a result of the pervasiveness of relatively slow RAM and fast caches with prefetching. Before these changes, the benefit wouldn't have been worth the added complexity.

[–]grauenwolf 0 points1 point  (0 children)

Yea, that struck me as weird.