[interp] Simplify the main interpreter loop code to speed up compilation. (mono/mono...
authorZoltan Varga <vargaz@gmail.com>
Tue, 30 Jul 2019 20:02:27 +0000 (16:02 -0400)
committerGitHub <noreply@github.com>
Tue, 30 Jul 2019 20:02:27 +0000 (16:02 -0400)
commit92841ebc55d49ca84c98a47ddf90b52424c4b081
tree68317669ada4b316eb7b9e5f95faebf7dca7d571
parent95da48fb5632638e4ebf8c5024b9465eec77c5f1
[interp] Simplify the main interpreter loop code to speed up compilation. (mono/mono#15889)

* [interp] Simplify the control flow in the main loop to speed up compilation of interp.c.

Get rid of the handle_finally and main_loop labels.

* [interp] Move some rarely used locals to InterpFrame to speed up compilation and to increase the chance that the other locals end up in registers.

* Add macros for throwing exceptions to shorten the code a bit.

* Fix a previous change.

Commit migrated from https://github.com/mono/mono/commit/f8fd60b5c088753a4a0ccb79483ebae73489e7a2
src/mono/mono/mini/interp/interp-internals.h
src/mono/mono/mini/interp/interp.c