review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review

Y. S. Ramakrishna y.s.ramakrishna at oracle.com
Thu May 26 12:15:53 PDT 2011


Ah, i found the doc comment that "invalidity can't be reversed"
which i take to mean that invalidity is a stable property.
Under that understanding, it would seem that isInvalid()
is a better API than isValid() (on the other hand
i don't know how this query is used, since i haven't followed
the discussions; eyes glazing over and all that...)

-- ramki

On 05/26/11 12:10, Y. S. Ramakrishna wrote:
> John, you state that validity is not a stable property.
> Is invalidity a stable property, or not even that is.
> 
> -- ramki
> (who doesn't yet know what a switchpoint is)
> 
> On 05/26/11 10:11, Tom Rodriguez wrote:
>> isValid looks fine.
>>
>> tom
>>
>> On May 26, 2011, at 1:31 AM, John Rose wrote:
>>
>>> On May 25, 2011, at 11:58 PM, Tom Rodriguez wrote:
>>>
>>>> Overall it seems ok.  A few minor oddities:
>>>>
>>>> MethodHandle.java
>>>>
>>>> variable arity is sometimes hyphenated.  It seems more correct without but be consistent.
>>> Replaced hyphen by space.
>>>
>>>> AdapterMethodHandle.java:
>>>>
>>>> The new value srcSlot appears unused.
>>> Right; it doesn't have any use.  Deleted.
>>>
>>>> Should this just go away:
>>>>
>>>> -        if (argCount <= 2)  return false;  // must be a swap, not a rotate
>>>> +        //if (argCount <= 2)  return false;  // must be a swap, not a rotate
>>> Yes.  Turns out that if you need to swap an int and a long, it has to be rendered as one or two rotates.
>>>
>>> Thanks, Tom.
>>>
>>> -- John
>>>
>>> P.S.  One more bit to review:  I might add the following to SwitchPoint.java, depending on what the EG says today.
>>>
>>>    /**
>>>     * Determines if this switchpoint is still valid.
>>>     * <p>
>>>     * Since invalidation is a global and immediate operation,
>>>     * this query must be sequenced with any
>>>     * other threads that could invalidate this switchpoint.
>>>     * It may therefore be expensive.
>>>     * <p>
>>>     * In addition, due to concurrent invalidations by other threads,
>>>     * a switchpoint may report itself as valid, and yet become
>>>     * invalid before the querying thread begins to act on the
>>>     * supposed validity.
>>>     * @return true if this switchpoint has never been invalidated
>>>     */
>>>    public boolean isValid() {
>>>        return (mcs.getTarget() == K_true);
>>>    }
>>>
>>>> tom
>>>>
>>>> On May 25, 2011, at 3:30 AM, John Rose wrote:
>>>>
>>>>> This is the last major bundle of changes for JDK 7.
>>>>> http://cr.openjdk.java.net/~jrose/7032323/webrev.00/
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev


More information about the mlvm-dev mailing list