This directory contains tests for debugging information generated by the JIT.
The tests are written in IL inside the tests.il file by creating a method in the
DebugInfoMethods class and marking them with the ExpectedILMappings attribute.
In that attribute, the IL offsets at which mappings are expected to be generated
can be specified for both debug (DebuggableAttribute with
DisableOptimizations) and optimized builds.

To debug these tests, run the 'tester' project, which will JIT all methods in
tests.il in both debug and release (you may need to turn off tiered
compilation).

* attribute.cs/csproj: Project containing ExpectedILMappingsAttribute, to avoid
  circular dependencies

* tests.il: File containing the tests marked with ExpectedILMappings

* tests_d.ilproj/tests_r.ilproj: Both these projects just add tests.il, the only
  difference is that the former has DebuggableAttribute with
  DisableOptimizations and the latter does not.

* tester.cs/csproj: The orchestrator of the tests, references tests_d and
  tests_r and jits the test methods using RuntimeHelpers.PrepareMethod, collects
  the IL mappings emitted using runtime events, and validates that the mappings
  match the data in ExpectedILMappings.
