[m-rev.] for review: Commit java as Error should not fill in stack trace
Julien Fischer
jfischer at opturion.com
Mon Nov 6 13:58:22 AEDT 2017
On Mon, 6 Nov 2017, Zoltan Somogyi wrote:
> On Fri, 3 Nov 2017 14:49:15 +0000, Maxime Van Assche <mvanassche at odaseontologies.com> wrote:
>
>> As far as I can tell, using Throwable for Commit does not require the stack trace.
>> However, the default constructor of Error constructs the stack trace, which is costly.
>
> I agree that we should not fill in the stack trace in exceptions used to implement commits.
>
>> java/runtime/Commit.java :
>> Override fillInStackTrace to do nothing
>>
>> diff --git a/java/runtime/Commit.java b/java/runtime/Commit.java
>> index a5f875ba..8cd0b68 100644
>> --- a/java/runtime/Commit.java
>> +++ b/java/runtime/Commit.java
>> @@ -9,6 +9,10 @@
>> package jmercury.runtime;
>>
>> public class Commit extends java.lang.Error {
>> + public Throwable fillInStackTrace() {
>> + // do nothing, for performance reasons.
>> + return this;
>> + }
>>
>> }
>
> I don't know our Java binding well enough to check this diff. Someone who
> uses the Java backend should try to bootcheck it, and commit the diff
> if that succeeds.
I will take a look at it this evening or tomorrow.
Julien.
More information about the reviews
mailing list