× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Ever wonder why a pointer on i is 16 bytes long? And if you write
something other than a pointer into the space occupied by a pointer the
pointer is voided? Only 96 bits of the 128 bits are an actual memory
address, the rest is a capability which tells the hardware what you can
do with that pointer. The hardware enforces the policy, not the
operating system. And the hardware voids the pointer if the hardware
doesn't create the pointer. This is all necessary to support
single-level storage where all processes work in a single address space.
Other architectures assign a process its own address space that is an
offset of a hardware base address register that is maintained by the
operating system. So a pointer in C on Unix is just an integer (perhaps
a long integer ) offset that the program can directly maintain.

Single level store and capability based addressing allow one program to
pass a reference to a memory address to another program as all memory is
common to all processes but protected by capability. A capability
pointer can be passed from one process to another. This allows user
programs (like a GC) to build and enforce their own mutex, spin-lock,
and other parallel processing artifacts. With this feature, a garbage
collector doesn't need to stop all the other threads running in the
common address space just to do an inventory of unreferenced memory. GC
can run all the time if needed.

Of course, if you're only running one processor this is kind of moot.
That's one of the reasons the 32bit JVM runs better on 4 processor or
fewer machines. More than 4 processors, the classic JVM is running
faster.

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Walden H. Leverich
Sent: Thursday, March 05, 2009 10:18 AM
To: Java Programming on and around the iSeries / AS400
Subject: RE: starting collection, reason stop the world collection

OK, this time I'll preface it with a statement that this is not targeted
at the poster. :-)

Capability based addressing on the i allows interprocess communication

methods that are impossible on any other architecture.

Wow, talk about kool-aid speak! How does it do it? Really, assume I know
a thing or two about memory architectures, technically and specifically
how does the GC do this magical thing on i?

-Walden

--
Walden H Leverich III
Tech Software
(516) 627-3800 x3051
WaldenL@xxxxxxxxxxxxxxx
http://www.TechSoftInc.com

Quiquid latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.)

--
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L) mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/java400-l.




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.