Nice push Nick! Did you get any details on what the security issues are? I
do recall reading about that on the ML thread you referred.

Gary


On Tue, Sep 3, 2013 at 8:40 PM, Nick Williams <nicho...@nicholaswilliams.net
> wrote:

> Good news! A Java committer has agreed to take on the commit and sponsor a
> public API replacement for getCallerClass. It sounds like there will be
> significant (even drastic) changes from my patch, but there's going to be
> /something/. *sigh*
>
> So. Much. Work...
>
> Nick
>
>
> On Sep 1, 2013, at 3:18 AM, Nick Williams wrote:
>
> I have submitted my patch to add a public API for getCallerClass to the
> JDK mailing list:
>
>
> http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-September/020477.html
>
> I appreciate anyone who can support it verbally on the list, but of course
> the most critical test is whether I can get a committer to sponsor my
> change.
>
> Nick
>
> On Aug 2, 2013, at 7:59 PM, Paul Benedict wrote:
>
> Wow! I totally forgot about their insane numbering system. All this time,
> I thought version 40 was  many months in the future.
> On Aug 2, 2013 6:34 PM, "Nick Williams" <nicho...@nicholaswilliams.net>
> wrote:
>
>> I HATE their new numbering system. HATE.
>>
>> ABHOR.
>>
>> 7u40 comes after 7u25. So, yes, it's the next one. Set to release
>> mid-September.
>>
>> Nick
>>
>> On Aug 2, 2013, at 4:59 PM, Gary Gregory wrote:
>>
>> On Thu, Aug 1, 2013 at 10:01 PM, Nick Williams <
>> nicho...@nicholaswilliams.net> wrote:
>>
>>> I can confirm that the JDK team /has/ committed the change to restore
>>> Reflection.getCallerClass() in Java 7u40:
>>>
>>> http://hg.openjdk.java.net/jdk7u/jdk7u40-dev/jdk/rev/244dbaeab45e
>>>
>>> So, hurray! Lol.
>>>
>>
>> With Oracle's new demented numbering scheme, how can you tell when this
>> version is coming? ;) Is that the next Java 7 or the one after that?
>>
>> Gary
>>
>>>
>>> Nick
>>>
>>> On Aug 1, 2013, at 9:48 AM, Remko Popma wrote:
>>>
>>> O(n log n) would not be too bad, but what you're describing sounds more
>>> like quadratic time!
>>> That's huge, Nick, congrats! That would mean a big speed improvement for
>>> the location-based layout patterns in Log4j, they use
>>> Thread.currentThread().getStackTrace() under the hood. Nice!
>>>
>>> -Remko
>>>
>>>   ------------------------------
>>>  *From:* Nick Williams <nicho...@nicholaswilliams.net>
>>> *To:* Log4J Developers List <log4j-dev@logging.apache.org>
>>> *Sent:* Thursday, August 1, 2013 10:11 PM
>>> *Subject:* Re: Relfection.getCallerClass
>>>
>>> Here's something interesting.
>>>
>>> So the last method I had to write,
>>> StackTraceFrame.getStackTrace(Throwable), I finished last night. It's the
>>> alternative to Throwable.getStackTrace(). Instead of returning
>>> StackTraceElement[] (String for declaring class name), it returns
>>> StackTraceFrame[] (Class<?> for declaring class). I expected this to
>>> perform about the same or possibly even worse--boy was I wrong.
>>>
>>> StackTraceFrame.getStackTrace(Throwable) consistently returns in half
>>> the time that Throwable.getStackTrace() does. Looking at why that is, I
>>> found a HUGE inefficiency in Throwable.getStackTrace().
>>> StackTraceFrame.getStackTrace(Throwable) walks the backtrace 1 time and
>>> runs O(n), where n is the number of elements in the stack trace.
>>> Throwable.getStackTrace() walks the back trace 1+(n/2) times (first it
>>> measures the depth of the back trace in one native method call, then it
>>> gets the elements by index in a native method call for each, looping up to
>>> that index each time), for an O(nlogn) (I think) running time. Much worse.
>>>
>>> So ... I improved Throwable.getStackTrace() and cut its running time in
>>> half while I was at it. This also resulted in cutting
>>> Thread.currentThread().getStackTrace()'s runtime in half. Think they'll
>>> appreciate it? :-/
>>>
>>> N
>>>
>>> On Jul 31, 2013, at 4:42 PM, Paul Benedict wrote:
>>>
>>>
>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019486.html
>>>
>>>
>>> On Wed, Jul 31, 2013 at 4:40 PM, Gary Gregory <garydgreg...@gmail.com>wrote:
>>>
>>> Hm... do you have a URL for this ray of hope?
>>>
>>> Gary
>>>
>>>
>>> On Wed, Jul 31, 2013 at 5:34 PM, Paul Benedict <pbened...@apache.org>wrote:
>>>
>>> Nevermind. I just found it. Lousy browser caching!
>>>
>>>
>>> On Wed, Jul 31, 2013 at 4:33 PM, Paul Benedict <pbened...@apache.org>wrote:
>>>
>>> Did you find this out on the OpenJDK mailing list? I can't find the
>>> information; I may have missed it.
>>>
>>>
>>> On Wed, Jul 31, 2013 at 4:22 PM, Gary Gregory <garydgreg...@gmail.com>wrote:
>>>
>>> KA-POW! Well done, sir. How about we use your mug as the new logo? ;)
>>>
>>> Gary
>>>
>>>
>>> On Wed, Jul 31, 2013 at 4:47 PM, Nick Williams <
>>> nicho...@nicholaswilliams.net> wrote:
>>>
>>> A PARTIAL VICTORY!
>>>
>>> They've decide to revert the change to Reflection.getCallerClass for
>>> 7u40 and the rest of 7. Woohoo!
>>>
>>> "What will happen to this method in JDK 8 requires further thought."
>>>
>>> Meanwhile, about 300 lines of Java and 1,000 lines of native code later,
>>> I'm about ready to submit my patch for a public API replacement in Java 8.
>>>
>>> N
>>>
>>> On Jul 29, 2013, at 8:39 AM, Gary Gregory wrote:
>>>
>>> What a mess :( it seem unlikely new APIs will be added to Java 8 to help
>>> us, at least based on comments like
>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019110.html
>>>
>>> We might be left with documenting our side with "if you use features x
>>> and y in this context then the speed will degrade to so and so, here is
>>> where to ask Oracle to fix it: http:..."
>>>
>>> Gary
>>>
>>> On Jul 29, 2013, at 9:06, Nick Williams <nicho...@nicholaswilliams.net>
>>> wrote:
>>>
>>> core-libs-dev
>>>
>>>
>>>
>>>
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> Java Persistence with Hibernate, Second 
>>> Edition<http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Paul
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Paul
>>>
>>>
>>>
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> Java Persistence with Hibernate, Second 
>>> Edition<http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Paul
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> Java Persistence with Hibernate, Second 
>> Edition<http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>>
>>
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to