return !strcmp (m->name, "interp_in") || !strcmp (m->name, "gsharedvt_out_sig");
}
+/* ENTER:i <- interp
+ * ENTER:c <- compiled (JIT or AOT)
+ * ENTER:u <- no JitInfo available
+ */
+static char
+frame_kind (MonoJitInfo *ji)
+{
+ if (!ji)
+ return 'u';
+
+ if (ji->is_interp)
+ return 'i';
+
+ return 'c';
+}
+
void
mono_trace_enter_method (MonoMethod *method, MonoJitInfo *ji, MonoProfilerCallContext *ctx)
{
if (!ji)
ji = mini_jit_info_table_find (mono_domain_get (), (char *)MONO_RETURN_ADDRESS (), NULL);
- /* ENTER:i <- interp
- * ENTER:c <- compiled (JIT or AOT)
- */
- printf ("ENTER:%c %s(", ji->is_interp ? 'i' : 'c' , fname);
+ printf ("ENTER:%c %s(", frame_kind (ji), fname);
g_free (fname);
sig = mono_method_signature_internal (method);
- if (method->is_inflated) {
-
- if (ji) {
- gsctx = mono_jit_info_get_generic_sharing_context (ji);
- if (gsctx && gsctx->is_gsharedvt) {
- /* Needs a ctx to get precise method */
- printf (") <gsharedvt>\n");
- mono_atomic_store_release (&output_lock, 0);
- return;
- }
+ if (method->is_inflated && ji) {
+ gsctx = mono_jit_info_get_generic_sharing_context (ji);
+ if (gsctx && gsctx->is_gsharedvt) {
+ /* Needs a ctx to get precise method */
+ printf (") <gsharedvt>\n");
+ mono_atomic_store_release (&output_lock, 0);
+ return;
}
}
if (!ji)
ji = mini_jit_info_table_find (mono_domain_get (), (char *)MONO_RETURN_ADDRESS (), NULL);
- /* LEAVE:i <- interp
- * LEAVE:c <- compiled (JIT or AOT)
- */
- printf ("LEAVE:%c %s(", ji->is_interp ? 'i' : 'c' , fname);
+ printf ("LEAVE:%c %s(", frame_kind (ji), fname);
g_free (fname);
- if (method->is_inflated) {
- if (ji) {
- gsctx = mono_jit_info_get_generic_sharing_context (ji);
- if (gsctx && gsctx->is_gsharedvt) {
- /* Needs a ctx to get precise method */
- printf (") <gsharedvt>\n");
- mono_atomic_store_release (&output_lock, 0);
- return;
- }
+ if (method->is_inflated && ji) {
+ gsctx = mono_jit_info_get_generic_sharing_context (ji);
+ if (gsctx && gsctx->is_gsharedvt) {
+ /* Needs a ctx to get precise method */
+ printf (") <gsharedvt>\n");
+ mono_atomic_store_release (&output_lock, 0);
+ return;
}
}