Merge branch 'rickard/eager-check-io/OTP-12117' into maint-r16

* rickard/eager-check-io/OTP-12117:
  Introduce support for eager check I/O scheduling
Prepare release
Extract annotations from filter qualifiers in a type-friendly way

Commit 78ce8917d started to use get_anno/1 to extract the line
annotation from filter qualifiers in comprehensions, but this does not
respect the spec of this function and resuls in a dialyzer warning.
To make the code more type-friendly, introduce a get_qual_anno/1
function.

Kostis Sagonas suggested that the function should be implemented
similar to this to also ensure that the qualifiers are of the
appropriate form:

get_qual_anno({call,Line,_,_}) -> Line;
get_qual_anno({op,Line,_,_,_}) -> Line;
.
.
.
get_qual_anno({var,Line,_}) -> Line.

The problem is that it is difficult to know exacly which forms
that may occur and the function will need to be updated if new
abstract forms are added. Thus this implementation would complicate
maintanance without any real payoff.

Reported-by: Kostis Sagonas
Fix gc-related problem with dirty NIFs

Ensure that the return value from a dirty NIF call is made part of the GC
rootset. Add a new regression test to nif_SUITE.

Thanks to Daniel Goertzen for reporting the error and providing a test
case, and to Sverker Eriksson for making test case reproducible and finding
the fix.
Merge branch 'bjorn/compiler/v3_core-type-fix'

* bjorn/compiler/v3_core-type-fix:
  Extract annotations from filter qualifiers in a type-friendly way
Merge branch 'vinoski/dirty-nif-return-gc' into maint

OTP-12300

* vinoski/dirty-nif-return-gc:
  Fix gc-related problem with dirty NIFs
Merge branch 'maint'
Merge branch 'maint-r16' into maint
Merge branch 'maint'