diff options
author | Rodrigo Kumpera <kumpera@gmail.com> | 2008-08-09 16:36:49 +0400 |
---|---|---|
committer | Rodrigo Kumpera <kumpera@gmail.com> | 2008-08-09 16:36:49 +0400 |
commit | 002cb2667122d1f695e18b59929126bc7532e161 (patch) | |
tree | bbc346a0b048d9fd588c63c9d5ed09807e5b8aa4 /docs | |
parent | 371e191ff2b4e06ce802c26c453267c80026bc83 (diff) |
2008-08-09 Rodrigo Kumpera <rkumpera@novell.com>
* docs/generic-sharing: Some updates from an irc talk with Mark.
svn path=/trunk/mono/; revision=110041
Diffstat (limited to 'docs')
-rw-r--r-- | docs/generic-sharing | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/generic-sharing b/docs/generic-sharing index c705144b19f..4ab60fc8897 100644 --- a/docs/generic-sharing +++ b/docs/generic-sharing @@ -42,6 +42,19 @@ MONO_ARCH_RGCTX_REG can be the same as the IMT register for now, but this might change in the future when we implement virtual generic method calls (more) efficiently. +This register lifetime starts at the call site that loads it and +ends in the callee prologue when it is either discarded or stored +into a local variable. + +It's better to avoid registers used for argument passing for the RGCTX +as it would make the code dealing with calling conventions code a lot harder. + +** Method prologue + +Generic shared code that have a RGCTX receive it in RGCTX_REG. There must be +a check in mono_arch_emit_prolog for MonoCompile::rgctx_var and if set +store it. See mini-x86.c for reference. + ** Dealing with types Types passed to arch functions might be type parameters |