Need reviewer - @GenerateNativeHeader

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Jun 28 21:53:32 UTC 2012


Hi, Kelly.
Because there is no constants that "are needed in the supporting JNI code".
For example in *LWLabelPeer.java:*
     private static final int TEXT_XPAD = 5;
     private static final int TEXT_YPAD = 1;
These constants are really used in a nativ? code?


29.06.2012 01:38, Kelly O'Hair wrote:
> Why do you say they are unnecessary?
>
> -kto
>
> On Jun 28, 2012, at 7:03 AM, Sergey Bylokhov wrote:
>
>> Hi, Kelly.
>> Looks like changes in these files are unnecessary.
>>
>> |Cdiffs 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java.cdiff.html> 
>> Udiffs 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java.udiff.html> 
>> Sdiffs 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java.sdiff.html> 
>> Frames 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java.frames.html> 
>> Old 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java-.html> 
>> New 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java.html> 
>> Patch 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWLabelPeer.java.patch> 
>> Raw 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/raw_files/new/src/macosx/classes/sun/lwawt/LWLabelPeer.java> 
>> | *src/macosx/classes/sun/lwawt/LWLabelPeer.java*
>>
>>     4 lines changed: 4 ins; 0 del; 0 mod; 115 unchg 
>>
>> |Cdiffs 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java.cdiff.html> 
>> Udiffs 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java.udiff.html> 
>> Sdiffs 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java.sdiff.html> 
>> Frames 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java.frames.html> 
>> Old 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java-.html> 
>> New 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java.html> 
>> Patch 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java.patch> 
>> Raw 
>> <http://cr.openjdk.java.net/%7Eohair/openjdk8/generateHeaders1/webrev/raw_files/new/src/macosx/classes/sun/lwawt/LWTextFieldPeer.java> 
>> | *src/macosx/classes/sun/lwawt/LWTextFieldPeer.java*
>>
>>     4 lines changed: 4 ins; 0 del; 0 mod; 134 unchg 
>>
>>
>> 23.05.2012 05:14, Kelly O'Hair wrote:
>>> 7170969: Add @GenerateNativeHeader to classes whose fields need to be exported for JNI
>>> http://cr.openjdk.java.net/~ohair/openjdk8/generateHeaders1/webrev/
>>>
>>> The new build infrastructure wants to fully automate the generation of the JNI header files (running javah).
>>> On classes that have "native" methods this is obvious, but class that only export constants, and whose constants
>>> are needed in the JNI native code, we need to mark these classes as needing their native header file generated.
>>>
>>> This change is adding:
>>>
>>> import javax.tools.annotation.GenerateNativeHeader;
>>>    
>>> /* No native methods here, but the constants are needed in the supporting JNI code */
>>> @GenerateNativeHeader
>>>
>>> To any class without a native method, but needing to expose it's constants to the native code.
>>>
>>> -kto
>>>
>>
>>
>> -- 
>> Best regards, Sergey.
>


-- 
Best regards, Sergey.




More information about the build-dev mailing list