[Mono-dev] IL Validator thoughts

Zoltan Varga vargaz at gmail.com
Thu Jul 20 01:14:52 EDT 2006


  Here are my thoughts about how IL validation should be implemented
in the runtime.
Currently, validation rules are interpersed with IL code, also only
some of the rules are
implemented. Instead of this, I would advocate writing a separate
verifier component.
This would have several advantages IMHO:
- Since that code would only deal with validation, it would be much
easier to review it and
reason about its correctness. This is important, since the number one
requirement for
a verifier is correctness and security.
- It could be turned off for code assumed to be correct, like corlib,
resulting in a (small)
perf boost in the JIT.
- It would make the JIT somewhat simpler and more memory efficient,
since it wouldn't have to
compute and keep validation data around (like ins->klass) which is
only used during
the initial phases of the JIT.

I think a complete IL validator along these lines could be written in
about 1 month.


More information about the Mono-devel-list mailing list