diff options
author | Miguel de Icaza <miguel@gnome.org> | 2007-06-24 21:13:43 +0400 |
---|---|---|
committer | Miguel de Icaza <miguel@gnome.org> | 2007-06-24 21:13:43 +0400 |
commit | 416745b435bdf50b670e913a78d383408542ea8f (patch) | |
tree | 3c6f0f79e3f7785699b095c5a99c79baee68072c /docs/glossary.txt | |
parent | e80c7764f2f1ff42a0b03ec98153dddf3cdeea30 (diff) |
Add
svn path=/trunk/mono/; revision=80636
Diffstat (limited to 'docs/glossary.txt')
-rw-r--r-- | docs/glossary.txt | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/glossary.txt b/docs/glossary.txt new file mode 100644 index 00000000000..5acaed7d085 --- /dev/null +++ b/docs/glossary.txt @@ -0,0 +1,23 @@ +Based on some Q&A: + + +Global Register Allocation: This is about placing in registers values +that are used a lot in performance-critical code: local variables and +method arguments if possible will be placed in the callee-saved +registers that are returned by th arch-specific code in the function: +mono_arch_get_global_int_regs(). + + +Stack Unwinding: is the process that happens during exception +handling: when an exception is thrown in a called method and caught in +a caller method, me need to put the processor registers in the state +they were in the caller, at the point where the catch handler can run. + +This happens in the mono_handle_exception_internal() and +mono_arch_find_jit_info(): see the other architectures implementations +for ideas: they basically need to know how big was the stack allocated +in each call frame and they need to restore the callee-save registers +that were saved in the stack in the prolog in the called functions ( +during stack unwindong the epilog of a method is not executed and the +register restoration needs to be done manually in the above +functions). |