help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] [bug] Line numbers not reported at start of blocks


From: Holger Hans Peter Freyther
Subject: Re: [Help-smalltalk] [bug] Line numbers not reported at start of blocks
Date: Sun, 1 Jun 2014 08:00:48 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On Sat, May 31, 2014 at 10:22:27PM +0100, Mark Bush wrote:

Dear Mark,

> I just noticed that the patch I provided seems not to have made it, so here 
> it is...

thank you for your contribution. There are three issues related to that
patch. The first is that after applying this change the "make check"
command has two regressions. One is in xlat.st and the other in the
DebugTools.st. The other is that we have played ping-pong with line
number changes/fixes so we will need to add a testcase to avoid
further ping-pong.

In more details:

* xlat.st: The code includes the dump of the bytecode. Now that line
  numbers change the output of the test needs to be updated. While
  looking at the output I see things like these:

+   [21]        push 0
+   [23]        source code line number 31
+   [25]        source code line number 31

 These instructions will be dispatched at runtime. This means your
 code has the potential the number of bytecodes we need to execute
 during execution. It will most likely be a performance hit. So the
 question is how to fix the line number issue you have without
 doubling the number of bytecodes per method.

 s := 0. CompiledCode allSubinstancesDo: [:each | s := s + each size ]. s
 152300 vs. 117946. The extra bytecodes add around 33.43 kb on the
 standard image

* DebugTools.st: The  DebuggerTest>>#testRegressionCurrentLine test
  fails. I think it is because bytecode like

    [3] source code line number 3
    [5] source code line number 3

* Tests: We have a mix of testcode that simply captures the output
  of the execution and some SUnit based tests. For kernel code we
  started to use packages/kernel-tests/ to add SUnit based tests.
  It is probably the place where you would like to add your regression
  test for the compiled methods.


In conclusion from my point of view. Please add a test case, please
minimize the bytecode overhead for line numbers, please update the
tests that now need to be updated.

kind regards
        holger



reply via email to

[Prev in Thread] Current Thread [Next in Thread]