*
* A version of mono_find_jit_info which returns all data in the StackFrameInfo
* structure.
-<<<<<<< HEAD
* A note about frames of type FRAME_TYPE_MANAGED_TO_NATIVE:
* - These frames are used to mark managed-to-native transitions, so CTX will refer to native
* code, and new_ctx will refer to the last managed frame. The caller should unwind once more
* to obtain the last managed frame.
-=======
* If SAVE_LOCATIONS is not NULL, it should point to an array of size MONO_MAX_IREGS.
* On return, it will be filled with the locations where callee saved registers are saved
* by the current frame. This is returned outside of StackFrameInfo because it can be
* quite large on some platforms.
->>>>>>> Implement precise scanning of registers by scanning the stack slots where they are saved.
*/
gboolean
mono_find_jit_info_ext (MonoDomain *domain, MonoJitTlsData *jit_tls,
if (!target_domain)
target_domain = domain;
-<<<<<<< HEAD
- err = mono_arch_find_jit_info (target_domain, jit_tls, ji, ctx, new_ctx, lmf, frame);
-=======
if (save_locations)
memset (save_locations, 0, MONO_MAX_IREGS * sizeof (mgreg_t*));
- err = mono_arch_find_jit_info_ext (target_domain, jit_tls, ji, ctx, new_ctx, lmf, save_locations, frame);
->>>>>>> Implement precise scanning of registers by scanning the stack slots where they are saved.
+ err = mono_arch_find_jit_info (target_domain, jit_tls, ji, ctx, new_ctx, lmf, save_locations, frame);
if (!err)
return FALSE;
while (MONO_CONTEXT_GET_SP (&ctx) < jit_tls->end_of_stack) {
frame.lmf = lmf;
-<<<<<<< HEAD
- res = mono_find_jit_info_ext (domain, jit_tls, NULL, &ctx, &new_ctx, NULL, &lmf, &frame);
-=======
-#ifdef MONO_ARCH_HAVE_FIND_JIT_INFO_EXT
res = mono_find_jit_info_ext (domain, jit_tls, NULL, &ctx, &new_ctx, NULL, &lmf, NULL, &frame);
->>>>>>> Implement precise scanning of registers by scanning the stack slots where they are saved.
if (!res)
return;
new_ctx = ctx;
do {
ctx = new_ctx;
- res = mono_find_jit_info_ext (domain, jit_tls, NULL, &ctx, &new_ctx, NULL, &lmf, &frame);
+ res = mono_find_jit_info_ext (domain, jit_tls, NULL, &ctx, &new_ctx, NULL, &lmf, NULL, &frame);
if (!res)
return FALSE;
} else {
StackFrameInfo frame;
- unwind_res = mono_find_jit_info_ext (domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, &frame);
+ unwind_res = mono_find_jit_info_ext (domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
if (unwind_res) {
if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE || frame.type == FRAME_TYPE_MANAGED_TO_NATIVE) {
*ctx = new_ctx;