Stepan Mishura wrote: > On 11/8/06, Tim Ellison wrote: >> >> Nathan Beyer wrote: >> > I just looked at the changes you made and have a question about this >> > snippet. >> > >> > + if (VM.callerClassLoader() != null) { >> > + throw new SecurityException("Unsafe"); >> > + } >> > >> > I just want to understand what this actually means. If the >> > 'callerClassLoader' is null, then the caller is the bootstrap class >> > loader, correct? Assuming that's correct, we're asserting that only >> > classes in the bootstrap class loader can call Unsafe, correct? >> >> Exactly, we are saying that only 'system' code (i.e. that on the >> bootclasspath) can get an instance of Unsafe because of the inherent >> dangers in the Unsafe APIs. It is then the responsibility of such >> system code not to release the instance of Unsafe to application code. > > IMO, if this piece of code may cause questions then it makes sense to add > comments above to the code. Just to avoid similar questions in future.
Sheesh, you'll be asking me to log violations next ;-) You make a good point. Done in r472443. Regards, Tim -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK.