[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1801108 - in /subversion/trunk/subversion/bindings/javahl/native: Array.cpp CreateJ.cpp Iterator.cpp OperationContext.cpp RemoteSession.cpp RevisionRangeList.cpp

From: Branko Čibej <brane_at_apache.org>
Date: Fri, 7 Jul 2017 12:23:40 +0200

On 06.07.2017 23:11, Philip Martin wrote:
> Philip Martin <philip_at_codematters.co.uk> writes:
>
>> I've upgraded my JDK and it produced all these warnings.

Adding the exception checks is correct. Rewriting everything to use the
jniwrapper abstraction would be even better, but that's a huge-ish heap
of work.

> There is a second class of warnings of the form:
>
> WARNING: JNI local refs: 57, exceeds capacity: 56
>
> These are generated in two places: JNIUtil::putErrorsInTrace() and
> Java_org_apache_subversion_javahl_util_PropLib_unparseExternals().
>
> I'm not sure how best to fix these so I have a local hack in
> JNIUtil::wrappedCreateClientException to remove most of them:
>
> // Create a local frame for our references
> - env->PushLocalFrame(LOCAL_FRAME_SIZE);
> + env->PushLocalFrame(LOCAL_FRAME_SIZE + 100);

Mmph ... it kinda hurts to see how limited the JNI API is in this
respect. We could either increase the LOCAL_FRAME_SIZE variable, or
create a new frame within each iteration of the loop.

-- Brane
Received on 2017-07-07 12:23:45 CEST

This is an archived mail posted to the Subversion Dev mailing list.