X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-sparc.c;h=75868b976111366640a3974af502671fac0d6b91;hb=098f6e8aa8ead1a80b751fa34e5e049439c2f0c3;hp=022f8a5e790b8ea9334d4fa61bb7f92c99229c9f;hpb=875d3f6c5de16d96b5976f3b48079d43b5d57a10;p=mono.git diff --git a/mono/mini/mini-sparc.c b/mono/mini/mini-sparc.c index 022f8a5e790..75868b97611 100644 --- a/mono/mini/mini-sparc.c +++ b/mono/mini/mini-sparc.c @@ -1,5 +1,6 @@ -/* - * mini-sparc.c: Sparc backend for the Mono code generator +/** + * \file + * Sparc backend for the Mono code generator * * Authors: * Paolo Molaro (lupus@ximian.com) @@ -28,7 +29,8 @@ #include #include #include -#include +#include +#include #include "mini-sparc.h" #include "trace.h" @@ -217,6 +219,12 @@ mono_arch_cleanup (void) { } +gboolean +mono_arch_have_fast_tls (void) +{ + return FALSE; +} + /* * This function returns the optimizations supported on this cpu. */ @@ -1330,7 +1338,7 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src) ArgInfo *ainfo = (ArgInfo*)ins->inst_p1; int size = ins->backend.size; - mini_emit_memcpy (cfg, sparc_sp, ainfo->offset, src->dreg, 0, size, 0); + mini_emit_memcpy (cfg, sparc_sp, ainfo->offset, src->dreg, 0, size, SIZEOF_VOID_P); } void @@ -2256,8 +2264,8 @@ mono_sparc_is_virtual_call (guint32 *code) * LOCKING: called with the domain lock held */ gpointer -mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckItem **imt_entries, int count, - gpointer fail_tramp) +mono_arch_build_imt_trampoline (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckItem **imt_entries, int count, + gpointer fail_tramp) { int i; int size = 0; @@ -2285,7 +2293,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI size += item->chunk_size; } if (fail_tramp) - code = mono_method_alloc_generic_virtual_thunk (domain, size * 4); + code = mono_method_alloc_generic_virtual_trampoline (domain, size * 4); else code = mono_domain_code_reserve (domain, size * 4); start = code; @@ -2352,7 +2360,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI mono_arch_flush_icache ((guint8*)start, (code - start) * 4); - mono_stats.imt_thunks_size += (code - start) * 4; + UnlockedAdd (&mono_stats.imt_trampolines_size, (code - start) * 4); g_assert (code - start <= size); mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain); @@ -2400,10 +2408,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) cpos = bb->max_offset; - if (cfg->prof_options & MONO_PROFILE_COVERAGE) { - NOT_IMPLEMENTED; - } - MONO_BB_FOR_EACH_INS (bb, ins) { guint8* code_start; @@ -3676,7 +3680,7 @@ mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, { MonoJumpInfo *patch_info; - mono_error_init (error); + error_init (error); /* FIXME: Move part of this to arch independent code */ for (patch_info = ji; patch_info; patch_info = patch_info->next) { @@ -4098,9 +4102,6 @@ mono_arch_emit_epilog (MonoCompile *cfg) if (mono_jit_trace_calls != NULL) max_epilog_size += 50; - if (cfg->prof_options & MONO_PROFILE_ENTER_LEAVE) - max_epilog_size += 50; - while (cfg->code_len + max_epilog_size > (cfg->code_size - 16)) { cfg->code_size *= 2; cfg->native_code = g_realloc (cfg->native_code, cfg->code_size); @@ -4413,12 +4414,6 @@ mono_arch_get_argument_info (MonoMethodSignature *csig, int param_count, MonoJit return 0; } -gboolean -mono_arch_print_tree (MonoInst *tree, int arity) -{ - return 0; -} - mgreg_t mono_arch_context_get_int_reg (MonoContext *ctx, int reg) {