g_assert (method);
cinfo = mono_custom_attrs_from_param (method, param->PositionImpl + 1);
- } else if (is_sre_method_on_tb_inst (member_class)) {/*XXX This is a workaround for Compiler Context*/
+ }
+#ifndef DISABLE_REFLECTION_EMIT
+ else if (is_sre_method_on_tb_inst (member_class)) {/*XXX This is a workaround for Compiler Context*/
MonoMethod *method = mono_reflection_method_on_tb_inst_get_handle ((MonoReflectionMethodOnTypeBuilderInst*)param->MemberImpl);
cinfo = mono_custom_attrs_from_param (method, param->PositionImpl + 1);
} else if (is_sre_ctor_on_tb_inst (member_class)) { /*XX This is a workaround for Compiler Context*/
- MonoReflectionCtorOnTypeBuilderInst *c = (MonoReflectionCtorOnTypeBuilderInst*)param->MemberImpl;
+ MonoReflectionCtorOnTypeBuilderInst *c = (MonoReflectionCtorOnTypeBuilderInst*)param->MemberImpl;
MonoMethod *method = NULL;
if (is_sre_ctor_builder (mono_object_class (c->cb)))
method = ((MonoReflectionCtorBuilder *)c->cb)->mhandle;
g_error ("mono_reflection_get_custom_attrs_info:: can't handle a CTBI with base_method of type %s", mono_type_get_full_name (member_class));
cinfo = mono_custom_attrs_from_param (method, param->PositionImpl + 1);
- } else {
+ }
+#endif
+ else {
char *type_name = mono_type_get_full_name (member_class);
char *msg = g_strdup_printf ("Custom attributes on a ParamInfo with member %s are not supported", type_name);
MonoException *ex = mono_get_exception_not_supported (msg);
return (MonoReflectionType *) mono_runtime_invoke (usertype_method, t, NULL, NULL);
}
-#ifndef DISABLE_REFLECTION_EMIT
static gboolean
is_corlib_type (MonoClass *class)
return FALSE; \
} while (0) \
+
+#ifndef DISABLE_REFLECTION_EMIT
static gboolean
is_sre_array (MonoClass *class)
{
check_corlib_type_cached (class, "System.Reflection.Emit", "FieldBuilder");
}
-static gboolean
-is_sr_mono_method (MonoClass *class)
-{
- check_corlib_type_cached (class, "System.Reflection", "MonoMethod");
-}
-
-static gboolean
-is_sr_mono_cmethod (MonoClass *class)
-{
- check_corlib_type_cached (class, "System.Reflection", "MonoCMethod");
-}
-
-static gboolean
-is_sr_mono_generic_method (MonoClass *class)
-{
- check_corlib_type_cached (class, "System.Reflection", "MonoGenericMethod");
-}
-
-static gboolean
-is_sr_mono_generic_cmethod (MonoClass *class)
-{
- check_corlib_type_cached (class, "System.Reflection", "MonoGenericCMethod");
-}
-
-static gboolean
-is_sr_mono_field (MonoClass *class)
-{
- check_corlib_type_cached (class, "System.Reflection", "MonoField");
-}
-
-static gboolean
-is_sr_mono_property (MonoClass *class)
-{
- check_corlib_type_cached (class, "System.Reflection", "MonoProperty");
-}
-
static gboolean
is_sre_method_on_tb_inst (MonoClass *class)
{
check_corlib_type_cached (class, "System.Reflection.Emit", "ConstructorOnTypeBuilderInst");
}
-gboolean
-mono_class_is_reflection_method_or_constructor (MonoClass *class)
-{
- return is_sr_mono_method (class) || is_sr_mono_cmethod (class) || is_sr_mono_generic_method (class) || is_sr_mono_generic_cmethod (class);
-}
-
MonoType*
mono_reflection_type_get_handle (MonoReflectionType* ref)
{
#endif /* !DISABLE_REFLECTION_EMIT */
+
+static gboolean
+is_sr_mono_field (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoField");
+}
+
+static gboolean
+is_sr_mono_property (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoProperty");
+}
+
+static gboolean
+is_sr_mono_method (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoMethod");
+}
+
+static gboolean
+is_sr_mono_cmethod (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoCMethod");
+}
+
+static gboolean
+is_sr_mono_generic_method (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoGenericMethod");
+}
+
+static gboolean
+is_sr_mono_generic_cmethod (MonoClass *class)
+{
+ check_corlib_type_cached (class, "System.Reflection", "MonoGenericCMethod");
+}
+
+gboolean
+mono_class_is_reflection_method_or_constructor (MonoClass *class)
+{
+ return is_sr_mono_method (class) || is_sr_mono_cmethod (class) || is_sr_mono_generic_method (class) || is_sr_mono_generic_cmethod (class);
+}
+
static gboolean
is_usertype (MonoReflectionType *ref)
{
+2010-03-24 U-anarquia\miguel <miguel@anarquia>
+
+ Make sure that trunk builds with DISABLE_JIT, an update to the
+ PlayStation 3 port.
+
+ * mini.c (mini_get_shared_method): this code seems to be necessary
+ regardless of whether DISABLE_JIT has been defined.
+
+ (mono_jit_compile_method_inner): it seems that this method is
+ required even in full AOT mode, so ifdef out only the pieces that
+ try to genrate code (the body of code that applies patches to the
+ code).
+
+ (mini_method_compile): do not compile when using DISABLE_JIT.
+
+ * mini-ppc.c (mono_arch_get_allocatable_int_vars)
+ (mono_arch_output_basic_block, mono-arch_emit_exceptions): Do not
+ compile when DISABLE_JIT is set.
+
2010-03-24 Mark Probst <mark.probst@gmail.com>
* mini.c (mono_create_tls_get): Only create a TLS operation if the
2010-03-23 Neale Ferguson <neale@sinenomine.net>
- * exceptions-s390x.c: Add support for mono_arch_get_throw_corlib_exception and fix throw by
- name.
+ * exceptions-s390x.c: Add support for
+ mono_arch_get_throw_corlib_exception and fix throw by name.
- * mini-s390x.c: Add IMT support; Fix stack parameter passing logic (especially for varargs);
- Correct localloc sizing; Add mono_arch_get_this_arg_from_call and
+ * mini-s390x.c: Add IMT support; Fix stack parameter passing
+ logic (especially for varargs); Correct localloc sizing; Add
+ mono_arch_get_this_arg_from_call and
mono_arch_get_this_arg_from_call.
- * mini-s390x.h: Add support for facility list extraction; Correct/update MONO_ARCH_xxx settings.
+ * mini-s390x.h: Add support for facility list extraction;
+ Correct/update MONO_ARCH_xxx settings.
+
+ * mini-s390.c: Minor corrections to instruction output for
+ varargs. No IMT implementation - I think it's time to deprecate
+ s390 and just leave s390x.
- * mini-s390.c: Minor corrections to instruction output for varargs. No IMT implementation - I
- think it's time to deprecate s390 and just leave s390x.
+ * tramp-s390x.c: Correct creation of trampoline instruction
- * tramp-s390x.c: Correct creation of trampoline instruction emission.
* cpu-s390x.md: Update some instruction lengths
return FALSE;
}
+#ifndef DISABLE_JIT
GList *
mono_arch_get_allocatable_int_vars (MonoCompile *cfg)
{
return vars;
}
+#endif /* ifndef DISABLE_JIT */
GList *
mono_arch_get_global_int_regs (MonoCompile *cfg)
#define MASK_SHIFT_IMM(i) ((i) & MONO_PPC_32_64_CASE (0x1f, 0x3f))
+#ifndef DISABLE_JIT
void
mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
{
cfg->code_len = code - cfg->native_code;
}
+#endif /* !DISABLE_JIT */
void
mono_arch_register_lowlevel_calls (void)
} while (0)
#endif
+#ifndef DISABLE_JIT
void
mono_arch_patch_code (MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors)
{
g_assert (cfg->code_len < cfg->code_size);
}
+#endif /* ifndef DISABLE_JIT */
/* remove once throw_exception_by_name is eliminated */
static int
return 0;
}
+#ifndef DISABLE_JIT
void
mono_arch_emit_exceptions (MonoCompile *cfg)
{
g_assert (cfg->code_len <= cfg->code_size);
}
+#endif
#if DEAD_CODE
static int