[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jdt-dev] Flow analysis beyond 64
|
Dear Team,
No, I'm not so much worried, whether you still need me when I'm 64 [1], but this
message is about a peculiarity of our implementation of flow analysis:
The first 64 variables are analysed using a set of bit vectors stored in several
long fields of FlowInfo. However, once we have more than 64 variables to
analyse, we push the additional bits into an open 2-dim array of "extra" bits.
I recently fixed one bug in this area, which then unearthed another bug etc.
until I realized that this extra implementation is very scarcely tested. That's
when I invented a flag that allows us to run *all* existing JDT/Core tests with
an offset of 64, i.e., performing all flow analysis in this extra level.
I then decided that we don't want to double our testing times, but I picked one
of our weekly builds to run all compiler tests in this new test mode:
https://ci.eclipse.org/jdt/job/eclipse.jdt.core-run.javac-10
I will continue to watch that job for regressions. Unfortunately that job
documents several levels of technical debt: first the existing differences
between ecj & javac, which I can sort out only at a slow rate (help
appreciated!). Secondly, smth is amiss since the merge of BETA_JAVA14.
@Jay, have you seen https://bugs.eclipse.org/561316 ? I would appreciate is this
were fixed sooner, rather than later, to reduce the known failures to the real
issues. Otherwise the tests would become meaningless over time.
Related bugs are:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=561280
https://bugs.eclipse.org/bugs/show_bug.cgi?id=561439
best,
Stephan
[1] https://www.youtube.com/watch?v=HCTunqv1Xt4