Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2007-06-24 21:13:43 +0400
committerMiguel de Icaza <miguel@gnome.org>2007-06-24 21:13:43 +0400
commit416745b435bdf50b670e913a78d383408542ea8f (patch)
tree3c6f0f79e3f7785699b095c5a99c79baee68072c /docs/glossary.txt
parente80c7764f2f1ff42a0b03ec98153dddf3cdeea30 (diff)
Add
svn path=/trunk/mono/; revision=80636
Diffstat (limited to 'docs/glossary.txt')
-rw-r--r--docs/glossary.txt23
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).