@@ -3,16 +3,16 @@ Description of the internal format of the line number table
3
3
Conceptually, the line number table consists of a sequence of triples:
4
4
start-offset (inclusive), end-offset (exclusive), line-number.
5
5
6
- Note that note all byte codes have a line number so we need handle `None` for the line-number.
6
+ Note that not all byte codes have a line number so we need handle `None` for the line-number.
7
7
8
8
However, storing the above sequence directly would be very inefficient as we would need 12 bytes per entry.
9
9
10
- First of all, we can note that the end of one entry is the same as the start of the next, so we can overlap entries.
11
- Secondly we also note that we don't really need arbitrary access to the sequence, so we can store deltas.
10
+ First, note that the end of one entry is the same as the start of the next, so we can overlap entries.
11
+ Second, we don't really need arbitrary access to the sequence, so we can store deltas.
12
12
13
13
We just need to store (end - start, line delta) pairs. The start offset of the first entry is always zero.
14
14
15
- Thirdly , most deltas are small, so we can use a single byte for each value, as long we allow several entries for the same line.
15
+ Third , most deltas are small, so we can use a single byte for each value, as long we allow several entries for the same line.
16
16
17
17
Consider the following table
18
18
Start End Line
@@ -36,12 +36,12 @@ Stripping the redundant ends gives:
36
36
37
37
Note that the end - start value is always positive.
38
38
39
- Finally in order, to fit into a single byte we need to convert start deltas to the range 0 <= delta <= 254,
39
+ Finally, in order to fit into a single byte we need to convert start deltas to the range 0 <= delta <= 254,
40
40
and line deltas to the range -127 <= delta <= 127.
41
41
A line delta of -128 is used to indicate no line number.
42
42
A start delta of 255 is used as a sentinel to mark the end of the table.
43
43
Also note that a delta of zero indicates that there are no bytecodes in the given range,
44
- which means can use an invalidate line number for that range.
44
+ which means we can use an invalid line number for that range.
45
45
46
46
Final form:
47
47
0 commit comments