[interp] Make newobj_fast not recursive.#31856
Merged
BrzVlad merged 1 commit intodotnet:masterfrom Feb 13, 2020
Merged
Conversation
f342e1d to
ea07fe9
Compare
…_CHECKPOINT. Make newobj_fast not recursive. This contributes significantly to mono/mono#18646, and against master might even fix it. Much recursion remains in the interpreter/transform. This also cleans up redundant code, i.e. method_entry, and places EXCEPTION_CHECKPOINT more correctly, i.e. when transform occurs but does not return an exception. EXCEPTION_CHECKPOINT fix is necessary so that non-recursive newobj_fast does not break one test. One more item, could be separate PR: Making call_vararg added the following to all calls: storing is_void in a larger scoped local save is_void restore is_void check is_void, along with preexisting check of retval == null Because retval must be set even for void call_varargs, because the arglist is found from it. This removes the check of retval == null, it should be redundant with is_void. Since there was complaint about call_vararg inefficiency, this fixes part of it.
ea07fe9 to
949c234
Compare
BrzVlad
approved these changes
Feb 13, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
!! This PR is a copy of mono/mono#18734, please do not edit or review it in this repo !!
!! Merge the PR only after the original PR is merged !!
This contributes to mono/mono#18646,
and against master might even fix it.
Much recursion remains in the interpreter/transform.
There might be a GC hole here. Expert review required.