#include <mono/metadata/appdomain.h>
#include <mono/metadata/marshal.h>
#include <mono/metadata/tabledefs.h>
+#include <mono/metadata/profiler-private.h>
#include <mono/arch/s390x/s390x-codegen.h>
#include "mini.h"
g_assert ((code - start) <= 28);
mono_arch_flush_icache (start, code - start);
+ mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_UNBOX_TRAMPOLINE, method);
return start;
}
S390_EMIT_CALL((orig_code - 14), addr);
mono_arch_flush_icache (orig_code - 14, 12);
} else {
-fprintf(stderr, "%p %02x %02x %02x %02x\n",
-&orig_code[-14], orig_code[-12], orig_code[-11], orig_code[-6], orig_code[-5]);
-fflush(stderr);
/* This is the 'brasl' instruction */
orig_code -= 4;
displace = ((gssize) addr - (gssize) (orig_code - 2)) / 2;
s390_br (code, s390_r14);
+ mono_arch_flush_icache (buf, code - buf);
+ mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_HELPER, NULL);
+
if (info)
*info = mono_tramp_info_create ("nullified_class_init_trampoline",
buf, code - buf, NULL, NULL);
/* Flush instruction cache, since we've generated code */
mono_arch_flush_icache (code, buf - code);
+ mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
if (info) {
tramp_name = mono_get_generic_trampoline_name (tramp_type);
/* Flush instruction cache, since we've generated code */
mono_arch_flush_icache (code, buf - code);
+ mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_SPECIFIC_TRAMPOLINE,
+ (void *) mono_get_generic_trampoline_simple_name (tramp_type));
/* Sanity check */
g_assert ((buf - code) <= SPECIFIC_TRAMPOLINE_SIZE);
s390_jg (code, displace);
mono_arch_flush_icache (buf, code - buf);
+ mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
g_assert (code - buf <= tramp_size);
g_assert ((code - start) < buf_len);
mono_arch_flush_icache (start, code - start);
+ mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_HELPER, NULL);
return(start);
}
}
mono_arch_flush_icache (buf, code - buf);
+ mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_HELPER, NULL);
g_assert (code - buf <= tramp_size);
if (info)