Flow analysis beyond 64

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

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:

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:


[1] https://www.youtube.com/watch?v=HCTunqv1Xt4
jdt-dev mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jdt-dev