RFR (4th): 8023524: Mechanism to dump generated lambda classes / log lambda code generation
Peter Levart
peter.levart at gmail.com
Wed Oct 2 00:42:35 PDT 2013
Ah, I see, you want it that way to track that a warning about invalid
directory is logged only once. That could be solved with an:
private static final ConcurrentMap<Path, Path> invalidDirs = new
ConcurrentHashMap<>();
...and then in validateDumpDir:
if (invalidDirs.putIfAbsent(path, path) == null) {
logger.warning(...
If you wanted to support a per-path instance of ProxyClassDumper, you
would need a registry of ProxyClassDumper instances anyway, implemented
with such a ConcurrentHashMap...
Regards, Peter
On 10/02/2013 09:19 AM, Peter Levart wrote:
> Hi Henry,
>
> Just a hint: Instead of parameterized singleton ProxyClassDumper with
> static method getInstance(path) which suggests that different
> ProxyClassDumper instances are returned for different path parameters
> (which are not), you could create for example:
>
> class DumpProxyClassAction implements PrivilegedAction<Void> {
> DumpProxyClassAction(String dumpDir, String className, byte[]
> classBytes) {
> ...
>
> ...and use it in InnerClassLambdaMetafactory instead of an anonymous
> inner class. Same number of objects per generated class are created
> that way...
>
> Regards, Peter
>
> On 10/02/2013 01:04 AM, Henry Jen wrote:
>> Hi,
>>
>> Please review the updated webrev at
>> http://cr.openjdk.java.net/~henryjen/ccc/8023524/3/webrev/
>>
>> This update addressed comments from Mandy with following,
>>
>> - call doPrivileged with specific file permission, "<<ALL FILES>>",
>> "write".
>> - Use nio package to write deal with FS, also create directory hierarchy
>> with package name instead of flat files.
>> - If not specify a value or empty string, the directory is default to
>> current working directory as "." is specified.
>>
>> We continue to use local encoding rule as other suggestions doesn't fit.
>> The reason we cannot use something like URLEncoder is that ":" won't get
>> encoded and it's not valid character for filename on Windows. All the
>> suggestions so far seems to have that same issue.
>>
>> Cheers,
>> Henry
>>
>>
>
More information about the lambda-dev
mailing list