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.

Reply via email to