You've already forked linux-packaging-mono
Imported Upstream version 5.2.0.175
Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
parent
4bdbaf4a88
commit
966bba02bb
@@ -1,8 +1,6 @@
|
||||
|
||||
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
|
||||
|
||||
BUILT_SOURCES = arm_dpimacros.h arm_vfpmacros.h
|
||||
|
||||
arm_dpimacros.h: dpiops.sh mov_macros.th dpi_macros.th cmp_macros.th
|
||||
(cd $(srcdir); bash ./dpiops.sh) > $@t
|
||||
mv $@t $@
|
||||
@@ -11,8 +9,10 @@ arm_vfpmacros.h: vfpops.sh vfpm_macros.th vfp_macros.th
|
||||
(cd $(srcdir); bash ./vfpops.sh) > $@t
|
||||
mv $@t $@
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
gen: arm_dpimacros.h arm_vfpmacros.h
|
||||
|
||||
EXTRA_DIST = arm-codegen.h dpiops.sh mov_macros.th dpi_macros.th cmp_macros.th \
|
||||
vfpm_macros.th vfp_macros.th arm-vfp-codegen.h vfpops.sh
|
||||
vfpm_macros.th vfp_macros.th arm-vfp-codegen.h vfpops.sh \
|
||||
arm_dpimacros.h arm_vfpmacros.h
|
||||
|
||||
|
||||
|
||||
@@ -332,13 +332,11 @@ top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
|
||||
BUILT_SOURCES = arm_dpimacros.h arm_vfpmacros.h
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
EXTRA_DIST = arm-codegen.h dpiops.sh mov_macros.th dpi_macros.th cmp_macros.th \
|
||||
vfpm_macros.th vfp_macros.th arm-vfp-codegen.h vfpops.sh
|
||||
vfpm_macros.th vfp_macros.th arm-vfp-codegen.h vfpops.sh \
|
||||
arm_dpimacros.h arm_vfpmacros.h
|
||||
|
||||
all: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@@ -415,12 +413,10 @@ distdir: $(DISTFILES)
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
install: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-am
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
@@ -442,7 +438,6 @@ install-strip:
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
@@ -451,7 +446,6 @@ distclean-generic:
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
@@ -518,7 +512,7 @@ ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: all check install install-am install-strip
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
cscopelist-am ctags-am distclean distclean-generic \
|
||||
@@ -541,6 +535,8 @@ arm_vfpmacros.h: vfpops.sh vfpm_macros.th vfp_macros.th
|
||||
(cd $(srcdir); bash ./vfpops.sh) > $@t
|
||||
mv $@t $@
|
||||
|
||||
gen: arm_dpimacros.h arm_vfpmacros.h
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
||||
1603
mono/arch/arm/arm_dpimacros.h
Normal file
1603
mono/arch/arm/arm_dpimacros.h
Normal file
File diff suppressed because it is too large
Load Diff
299
mono/arch/arm/arm_vfpmacros.h
Normal file
299
mono/arch/arm/arm_vfpmacros.h
Normal file
@@ -0,0 +1,299 @@
|
||||
/* Macros for VFP ops, auto-generated from template */
|
||||
|
||||
|
||||
/* dyadic */
|
||||
|
||||
/* -- ADD -- */
|
||||
|
||||
|
||||
/* Fd := Fn ADD Fm */
|
||||
#define ARM_VFP_ADDD_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_DOUBLE,ARM_VFP_ADD,rd,rn,rm))
|
||||
#define ARM_VFP_ADDD(p, rd, rn, rm) \
|
||||
ARM_VFP_ADDD_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
#define ARM_VFP_ADDS_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_SINGLE,ARM_VFP_ADD,rd,rn,rm))
|
||||
#define ARM_VFP_ADDS(p, rd, rn, rm) \
|
||||
ARM_VFP_ADDS_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- SUB -- */
|
||||
|
||||
|
||||
/* Fd := Fn SUB Fm */
|
||||
#define ARM_VFP_SUBD_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_DOUBLE,ARM_VFP_SUB,rd,rn,rm))
|
||||
#define ARM_VFP_SUBD(p, rd, rn, rm) \
|
||||
ARM_VFP_SUBD_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
#define ARM_VFP_SUBS_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_SINGLE,ARM_VFP_SUB,rd,rn,rm))
|
||||
#define ARM_VFP_SUBS(p, rd, rn, rm) \
|
||||
ARM_VFP_SUBS_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- MUL -- */
|
||||
|
||||
|
||||
/* Fd := Fn MUL Fm */
|
||||
#define ARM_VFP_MULD_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_DOUBLE,ARM_VFP_MUL,rd,rn,rm))
|
||||
#define ARM_VFP_MULD(p, rd, rn, rm) \
|
||||
ARM_VFP_MULD_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
#define ARM_VFP_MULS_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_SINGLE,ARM_VFP_MUL,rd,rn,rm))
|
||||
#define ARM_VFP_MULS(p, rd, rn, rm) \
|
||||
ARM_VFP_MULS_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- NMUL -- */
|
||||
|
||||
|
||||
/* Fd := Fn NMUL Fm */
|
||||
#define ARM_VFP_NMULD_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_DOUBLE,ARM_VFP_NMUL,rd,rn,rm))
|
||||
#define ARM_VFP_NMULD(p, rd, rn, rm) \
|
||||
ARM_VFP_NMULD_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
#define ARM_VFP_NMULS_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_SINGLE,ARM_VFP_NMUL,rd,rn,rm))
|
||||
#define ARM_VFP_NMULS(p, rd, rn, rm) \
|
||||
ARM_VFP_NMULS_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- DIV -- */
|
||||
|
||||
|
||||
/* Fd := Fn DIV Fm */
|
||||
#define ARM_VFP_DIVD_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_DOUBLE,ARM_VFP_DIV,rd,rn,rm))
|
||||
#define ARM_VFP_DIVD(p, rd, rn, rm) \
|
||||
ARM_VFP_DIVD_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
#define ARM_VFP_DIVS_COND(p, rd, rn, rm, cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_DYADIC(cond,ARM_VFP_COPROC_SINGLE,ARM_VFP_DIV,rd,rn,rm))
|
||||
#define ARM_VFP_DIVS(p, rd, rn, rm) \
|
||||
ARM_VFP_DIVS_COND(p, rd, rn, rm, ARMCOND_AL)
|
||||
|
||||
|
||||
|
||||
/* monadic */
|
||||
|
||||
/* -- CPY -- */
|
||||
|
||||
|
||||
/* Fd := CPY Fm */
|
||||
|
||||
#define ARM_CPYD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_CPY,(dreg),(sreg)))
|
||||
#define ARM_CPYD(p,dreg,sreg) ARM_CPYD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_CPYS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_CPY,(dreg),(sreg)))
|
||||
#define ARM_CPYS(p,dreg,sreg) ARM_CPYS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- ABS -- */
|
||||
|
||||
|
||||
/* Fd := ABS Fm */
|
||||
|
||||
#define ARM_ABSD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_ABS,(dreg),(sreg)))
|
||||
#define ARM_ABSD(p,dreg,sreg) ARM_ABSD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_ABSS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_ABS,(dreg),(sreg)))
|
||||
#define ARM_ABSS(p,dreg,sreg) ARM_ABSS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- NEG -- */
|
||||
|
||||
|
||||
/* Fd := NEG Fm */
|
||||
|
||||
#define ARM_NEGD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_NEG,(dreg),(sreg)))
|
||||
#define ARM_NEGD(p,dreg,sreg) ARM_NEGD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_NEGS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_NEG,(dreg),(sreg)))
|
||||
#define ARM_NEGS(p,dreg,sreg) ARM_NEGS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- SQRT -- */
|
||||
|
||||
|
||||
/* Fd := SQRT Fm */
|
||||
|
||||
#define ARM_SQRTD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_SQRT,(dreg),(sreg)))
|
||||
#define ARM_SQRTD(p,dreg,sreg) ARM_SQRTD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_SQRTS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_SQRT,(dreg),(sreg)))
|
||||
#define ARM_SQRTS(p,dreg,sreg) ARM_SQRTS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- CMP -- */
|
||||
|
||||
|
||||
/* Fd := CMP Fm */
|
||||
|
||||
#define ARM_CMPD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_CMP,(dreg),(sreg)))
|
||||
#define ARM_CMPD(p,dreg,sreg) ARM_CMPD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_CMPS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_CMP,(dreg),(sreg)))
|
||||
#define ARM_CMPS(p,dreg,sreg) ARM_CMPS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- CMPE -- */
|
||||
|
||||
|
||||
/* Fd := CMPE Fm */
|
||||
|
||||
#define ARM_CMPED_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_CMPE,(dreg),(sreg)))
|
||||
#define ARM_CMPED(p,dreg,sreg) ARM_CMPED_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_CMPES_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_CMPE,(dreg),(sreg)))
|
||||
#define ARM_CMPES(p,dreg,sreg) ARM_CMPES_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- CMPZ -- */
|
||||
|
||||
|
||||
/* Fd := CMPZ Fm */
|
||||
|
||||
#define ARM_CMPZD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_CMPZ,(dreg),(sreg)))
|
||||
#define ARM_CMPZD(p,dreg,sreg) ARM_CMPZD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_CMPZS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_CMPZ,(dreg),(sreg)))
|
||||
#define ARM_CMPZS(p,dreg,sreg) ARM_CMPZS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- CMPEZ -- */
|
||||
|
||||
|
||||
/* Fd := CMPEZ Fm */
|
||||
|
||||
#define ARM_CMPEZD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_CMPEZ,(dreg),(sreg)))
|
||||
#define ARM_CMPEZD(p,dreg,sreg) ARM_CMPEZD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_CMPEZS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_CMPEZ,(dreg),(sreg)))
|
||||
#define ARM_CMPEZS(p,dreg,sreg) ARM_CMPEZS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- CVT -- */
|
||||
|
||||
|
||||
/* Fd := CVT Fm */
|
||||
|
||||
#define ARM_CVTD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_CVT,(dreg),(sreg)))
|
||||
#define ARM_CVTD(p,dreg,sreg) ARM_CVTD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_CVTS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_CVT,(dreg),(sreg)))
|
||||
#define ARM_CVTS(p,dreg,sreg) ARM_CVTS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- UITO -- */
|
||||
|
||||
|
||||
/* Fd := UITO Fm */
|
||||
|
||||
#define ARM_UITOD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_UITO,(dreg),(sreg)))
|
||||
#define ARM_UITOD(p,dreg,sreg) ARM_UITOD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_UITOS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_UITO,(dreg),(sreg)))
|
||||
#define ARM_UITOS(p,dreg,sreg) ARM_UITOS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- SITO -- */
|
||||
|
||||
|
||||
/* Fd := SITO Fm */
|
||||
|
||||
#define ARM_SITOD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_SITO,(dreg),(sreg)))
|
||||
#define ARM_SITOD(p,dreg,sreg) ARM_SITOD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_SITOS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_SITO,(dreg),(sreg)))
|
||||
#define ARM_SITOS(p,dreg,sreg) ARM_SITOS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- TOUI -- */
|
||||
|
||||
|
||||
/* Fd := TOUI Fm */
|
||||
|
||||
#define ARM_TOUID_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_TOUI,(dreg),(sreg)))
|
||||
#define ARM_TOUID(p,dreg,sreg) ARM_TOUID_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_TOUIS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_TOUI,(dreg),(sreg)))
|
||||
#define ARM_TOUIS(p,dreg,sreg) ARM_TOUIS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- TOSI -- */
|
||||
|
||||
|
||||
/* Fd := TOSI Fm */
|
||||
|
||||
#define ARM_TOSID_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_TOSI,(dreg),(sreg)))
|
||||
#define ARM_TOSID(p,dreg,sreg) ARM_TOSID_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_TOSIS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_TOSI,(dreg),(sreg)))
|
||||
#define ARM_TOSIS(p,dreg,sreg) ARM_TOSIS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- TOUIZ -- */
|
||||
|
||||
|
||||
/* Fd := TOUIZ Fm */
|
||||
|
||||
#define ARM_TOUIZD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_TOUIZ,(dreg),(sreg)))
|
||||
#define ARM_TOUIZD(p,dreg,sreg) ARM_TOUIZD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_TOUIZS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_TOUIZ,(dreg),(sreg)))
|
||||
#define ARM_TOUIZS(p,dreg,sreg) ARM_TOUIZS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
/* -- TOSIZ -- */
|
||||
|
||||
|
||||
/* Fd := TOSIZ Fm */
|
||||
|
||||
#define ARM_TOSIZD_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_DOUBLE,ARM_VFP_TOSIZ,(dreg),(sreg)))
|
||||
#define ARM_TOSIZD(p,dreg,sreg) ARM_TOSIZD_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
#define ARM_TOSIZS_COND(p,dreg,sreg,cond) \
|
||||
ARM_EMIT((p), ARM_DEF_VFP_MONADIC((cond),ARM_VFP_COPROC_SINGLE,ARM_VFP_TOSIZ,(dreg),(sreg)))
|
||||
#define ARM_TOSIZS(p,dreg,sreg) ARM_TOSIZS_COND(p,dreg,sreg,ARMCOND_AL)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* end generated */
|
||||
|
||||
@@ -320,4 +320,5 @@
|
||||
<opcode name="mono_lddomain" input="Pop0" output="PushI" args="InlineNone" o1="0xF0" o2="0x19" flow="next" />
|
||||
<opcode name="mono_atomic_store_i4" input="PopI+PopI" output="Push0" args="InlineI" o1="0xF0" o2="0x1A" flow="next" />
|
||||
<opcode name="mono_get_last_error" input="Pop0" output="PushI" args="InlineNone" o1="0xF0" o2="0x1B" flow="next" />
|
||||
<opcode name="mono_get_rgctx_arg" input="Pop0" output="PushI" args="InlineNone" o1="0xF0" o2="0x1C" flow="next" />
|
||||
</opdesc>
|
||||
|
||||
@@ -320,6 +320,7 @@ OPDEF(CEE_MONO_CALLI_EXTRA_ARG, "mono_calli_extra_arg", VarPop, VarPush, InlineS
|
||||
OPDEF(CEE_MONO_LDDOMAIN, "mono_lddomain", Pop0, PushI, InlineNone, X, 2, 0xF0, 0x19, NEXT)
|
||||
OPDEF(CEE_MONO_ATOMIC_STORE_I4, "mono_atomic_store_i4", PopI+PopI, Push0, InlineI, X, 2, 0xF0, 0x1A, NEXT)
|
||||
OPDEF(CEE_MONO_GET_LAST_ERROR, "mono_get_last_error", Pop0, PushI, InlineNone, X, 2, 0xF0, 0x1B, NEXT)
|
||||
OPDEF(CEE_MONO_GET_RGCTX_ARG, "mono_get_rgctx_arg", Pop0, PushI, InlineNone, X, 2, 0xF0, 0x1C, NEXT)
|
||||
#ifndef OPALIAS
|
||||
#define _MONO_CIL_OPALIAS_DEFINED_
|
||||
#define OPALIAS(a,s,r)
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <mono/metadata/class-internals.h>
|
||||
#include <mono/metadata/object-internals.h>
|
||||
#include <mono/metadata/loader.h>
|
||||
#include <mono/metadata/assembly.h>
|
||||
#include <mono/metadata/assembly-internals.h>
|
||||
#include <mono/metadata/appdomain.h>
|
||||
#include <mono/metadata/w32handle.h>
|
||||
#include <mono/utils/bsearch.h>
|
||||
@@ -1844,22 +1844,25 @@ load_filter (const char* filename)
|
||||
|
||||
|
||||
static gboolean
|
||||
try_load_from (MonoAssembly **assembly, const gchar *path1, const gchar *path2,
|
||||
const gchar *path3, const gchar *path4, gboolean refonly)
|
||||
try_load_from (MonoAssembly **assembly,
|
||||
const gchar *path1, const gchar *path2,
|
||||
const gchar *path3, const gchar *path4, gboolean refonly,
|
||||
MonoAssemblyCandidatePredicate predicate, gpointer user_data)
|
||||
{
|
||||
gchar *fullpath;
|
||||
|
||||
*assembly = NULL;
|
||||
fullpath = g_build_filename (path1, path2, path3, path4, NULL);
|
||||
if (g_file_test (fullpath, G_FILE_TEST_IS_REGULAR))
|
||||
*assembly = mono_assembly_open_full (fullpath, NULL, refonly);
|
||||
*assembly = mono_assembly_open_predicate (fullpath, refonly, FALSE, predicate, user_data, NULL);
|
||||
|
||||
g_free (fullpath);
|
||||
return (*assembly != NULL);
|
||||
}
|
||||
|
||||
static MonoAssembly *
|
||||
real_load (gchar **search_path, const gchar *culture, const gchar *name, gboolean refonly)
|
||||
real_load (gchar **search_path, const gchar *culture, const gchar *name, gboolean refonly,
|
||||
MonoAssemblyCandidatePredicate predicate, gpointer user_data)
|
||||
{
|
||||
MonoAssembly *result = NULL;
|
||||
gchar **path;
|
||||
@@ -1883,22 +1886,22 @@ real_load (gchar **search_path, const gchar *culture, const gchar *name, gboolea
|
||||
/* See test cases in bug #58992 and bug #57710 */
|
||||
/* 1st try: [culture]/[name].dll (culture may be empty) */
|
||||
strcpy (filename + len - 4, ".dll");
|
||||
if (try_load_from (&result, *path, local_culture, "", filename, refonly))
|
||||
if (try_load_from (&result, *path, local_culture, "", filename, refonly, predicate, user_data))
|
||||
break;
|
||||
|
||||
/* 2nd try: [culture]/[name].exe (culture may be empty) */
|
||||
strcpy (filename + len - 4, ".exe");
|
||||
if (try_load_from (&result, *path, local_culture, "", filename, refonly))
|
||||
if (try_load_from (&result, *path, local_culture, "", filename, refonly, predicate, user_data))
|
||||
break;
|
||||
|
||||
/* 3rd try: [culture]/[name]/[name].dll (culture may be empty) */
|
||||
strcpy (filename + len - 4, ".dll");
|
||||
if (try_load_from (&result, *path, local_culture, name, filename, refonly))
|
||||
if (try_load_from (&result, *path, local_culture, name, filename, refonly, predicate, user_data))
|
||||
break;
|
||||
|
||||
/* 4th try: [culture]/[name]/[name].exe (culture may be empty) */
|
||||
strcpy (filename + len - 4, ".exe");
|
||||
if (try_load_from (&result, *path, local_culture, name, filename, refonly))
|
||||
if (try_load_from (&result, *path, local_culture, name, filename, refonly, predicate, user_data))
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1918,7 +1921,7 @@ monodis_preload (MonoAssemblyName *aname,
|
||||
gboolean refonly = GPOINTER_TO_UINT (user_data);
|
||||
|
||||
if (assemblies_path && assemblies_path [0] != NULL) {
|
||||
result = real_load (assemblies_path, aname->culture, aname->name, refonly);
|
||||
result = real_load (assemblies_path, aname->culture, aname->name, refonly, NULL, NULL);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* util.c: Assorted utilities for the disassembler
|
||||
/**
|
||||
* \file
|
||||
* Assorted utilities for the disassembler
|
||||
*
|
||||
* Author:
|
||||
* Miguel de Icaza (miguel@ximian.com)
|
||||
@@ -19,9 +20,8 @@
|
||||
#endif
|
||||
|
||||
/**
|
||||
* map:
|
||||
* @code: code to lookup in table
|
||||
* @table: table to decode code
|
||||
* \param code code to lookup in table
|
||||
* \param table table to decode code
|
||||
*
|
||||
* Warning: returns static buffer.
|
||||
*/
|
||||
@@ -37,9 +37,8 @@ map (guint32 code, dis_map_t *table)
|
||||
}
|
||||
|
||||
/**
|
||||
* flags:
|
||||
* @code: bitfield
|
||||
* @table: table to decode bitfield
|
||||
* \param code bitfield
|
||||
* \param table table to decode bitfield
|
||||
*
|
||||
* Warning: returns static buffer.
|
||||
*/
|
||||
|
||||
@@ -189,7 +189,7 @@ common_sources = \
|
||||
mono-config.c \
|
||||
mono-debug.h \
|
||||
mono-debug.c \
|
||||
mono-debug-debugger.h \
|
||||
debug-internals.h \
|
||||
mono-endian.c \
|
||||
mono-endian.h \
|
||||
mono-hash.h \
|
||||
|
||||
@@ -1 +1 @@
|
||||
fbde4542a024a2caf969fa16323577f577c05efe
|
||||
e541537ca61d55312545d674ccd5ac6ca37badbc
|
||||
@@ -1,4 +1,5 @@
|
||||
/*
|
||||
/**
|
||||
* \file
|
||||
* Copyright 2014 Xamarin Inc
|
||||
* Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
*/
|
||||
@@ -8,6 +9,20 @@
|
||||
#include <config.h>
|
||||
#include <glib.h>
|
||||
|
||||
/*
|
||||
* This file defines macros to compute sizes/alignments/field offsets which depend on
|
||||
* the ABI. It is needed during cross compiling since the generated code needs to
|
||||
* contain offsets which correspond to the ABI of the target, not the host.
|
||||
* It defines the following macros:
|
||||
* - MONO_ABI_SIZEOF(type) for every basic type
|
||||
* - MONO_ABI_ALIGNOF(type) for every basic type
|
||||
* - MONO_STRUCT_OFFSET(struct, field) for various runtime structures
|
||||
* When not cross compiling, these correspond to the host ABI (i.e. sizeof/offsetof).
|
||||
* When cross compiling, these are defined in a generated header file which is
|
||||
* generated by the offsets tool in tools/offsets-tool. The name of the file
|
||||
* is given by the --with-cross-offsets= configure argument.
|
||||
*/
|
||||
|
||||
#define MONO_ABI_ALIGNOF(type) MONO_ALIGN_ ## type
|
||||
#define MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(type) typedef struct { char c; type x; } Mono_Align_Struct_ ##type;
|
||||
#define MONO_CURRENT_ABI_ALIGNOF(type) ((int)G_STRUCT_OFFSET(Mono_Align_Struct_ ##type, x))
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/*
|
||||
/**
|
||||
* \file
|
||||
* Appdomain-related icalls.
|
||||
* Copyright 2016 Microsoft
|
||||
* Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* appdomain.h: AppDomain functions
|
||||
/**
|
||||
* \file
|
||||
* AppDomain functions
|
||||
*
|
||||
* Author:
|
||||
* Dietmar Maurer (dietmar@ximian.com)
|
||||
|
||||
@@ -1,14 +1,41 @@
|
||||
/*
|
||||
/**
|
||||
* \file
|
||||
* Copyright 2015 Xamarin Inc
|
||||
* Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
*/
|
||||
#ifndef __MONO_METADATA_ASSEMBLY_INTERNALS_H__
|
||||
#define __MONO_METADATA_ASSEMBLY_INTERNALS_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
#include <mono/metadata/assembly.h>
|
||||
|
||||
MONO_API MonoImage* mono_assembly_load_module_checked (MonoAssembly *assembly, uint32_t idx, MonoError *error);
|
||||
|
||||
MonoAssembly * mono_assembly_open_a_lot (const char *filename, MonoImageOpenStatus *status, gboolean refonly, gboolean load_from_context);
|
||||
|
||||
/* If predicate returns true assembly should be loaded, if false ignore it. */
|
||||
typedef gboolean (*MonoAssemblyCandidatePredicate)(MonoAssembly *, gpointer);
|
||||
|
||||
MonoAssembly* mono_assembly_open_predicate (const char *filename,
|
||||
gboolean refonly,
|
||||
gboolean load_from_context,
|
||||
MonoAssemblyCandidatePredicate pred,
|
||||
gpointer user_data,
|
||||
MonoImageOpenStatus *status);
|
||||
|
||||
MonoAssembly* mono_assembly_load_from_predicate (MonoImage *image, const char *fname,
|
||||
gboolean refonly,
|
||||
MonoAssemblyCandidatePredicate pred,
|
||||
gpointer user_data,
|
||||
MonoImageOpenStatus *status);
|
||||
|
||||
/* MonoAssemblyCandidatePredicate that compares the assembly name (name, version,
|
||||
* culture, public key token) of the candidate with the wanted name, if the
|
||||
* wanted name has a public key token (if not present, always return true).
|
||||
* Pass the wanted MonoAssemblyName* as the user_data.
|
||||
*/
|
||||
gboolean
|
||||
mono_assembly_candidate_predicate_sn_same_name (MonoAssembly *candidate, gpointer wanted_name);
|
||||
|
||||
#endif /* __MONO_METADATA_ASSEMBLY_INTERNALS_H__ */
|
||||
|
||||
@@ -1 +1 @@
|
||||
cbaba9b3e3c5b10abd60c2c817fb1d59f62d4542
|
||||
5bc9486f897e85703bbf689875c78867e671f786
|
||||
@@ -1,3 +1,7 @@
|
||||
/**
|
||||
* \file
|
||||
*/
|
||||
|
||||
#ifndef _MONONET_METADATA_ASSEMBLY_H_
|
||||
#define _MONONET_METADATA_ASSEMBLY_H_
|
||||
|
||||
@@ -8,8 +12,10 @@ MONO_BEGIN_DECLS
|
||||
|
||||
MONO_API void mono_assemblies_init (void);
|
||||
MONO_API void mono_assemblies_cleanup (void);
|
||||
MONO_RT_EXTERNAL_ONLY
|
||||
MONO_API MonoAssembly *mono_assembly_open (const char *filename,
|
||||
MonoImageOpenStatus *status);
|
||||
MONO_RT_EXTERNAL_ONLY
|
||||
MONO_API MonoAssembly *mono_assembly_open_full (const char *filename,
|
||||
MonoImageOpenStatus *status,
|
||||
mono_bool refonly);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* attach.c: Support for attaching to the runtime from other processes.
|
||||
/**
|
||||
* \file
|
||||
* Support for attaching to the runtime from other processes.
|
||||
*
|
||||
* Author:
|
||||
* Zoltan Varga (vargaz@gmail.com)
|
||||
@@ -31,7 +32,7 @@
|
||||
#include <netdb.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <mono/metadata/assembly.h>
|
||||
#include <mono/metadata/assembly-internals.h>
|
||||
#include <mono/metadata/metadata.h>
|
||||
#include <mono/metadata/class-internals.h>
|
||||
#include <mono/metadata/object-internals.h>
|
||||
@@ -275,7 +276,7 @@ mono_attach_load_agent (MonoDomain *domain, char *agent, char *args, MonoObject
|
||||
gpointer pa [1];
|
||||
MonoImageOpenStatus open_status;
|
||||
|
||||
agent_assembly = mono_assembly_open (agent, &open_status);
|
||||
agent_assembly = mono_assembly_open_predicate (agent, FALSE, FALSE, NULL, NULL, &open_status);
|
||||
if (!agent_assembly) {
|
||||
fprintf (stderr, "Cannot open agent assembly '%s': %s.\n", agent, mono_image_strerror (open_status));
|
||||
g_free (agent);
|
||||
@@ -475,12 +476,18 @@ transport_send (int fd, guint8 *data, int len)
|
||||
static void
|
||||
transport_start_receive (void)
|
||||
{
|
||||
MonoError error;
|
||||
MonoInternalThread *internal;
|
||||
|
||||
transport_connect ();
|
||||
|
||||
if (!listen_fd)
|
||||
return;
|
||||
|
||||
receiver_thread_handle = mono_threads_create_thread (receiver_thread, NULL, NULL, NULL);
|
||||
internal = mono_thread_create_internal (mono_get_root_domain (), receiver_thread, NULL, MONO_THREAD_CREATE_FLAGS_NONE, &error);
|
||||
mono_error_assert_ok (&error);
|
||||
|
||||
receiver_thread_handle = mono_threads_open_thread_handle (internal->handle);
|
||||
g_assert (receiver_thread_handle);
|
||||
}
|
||||
|
||||
@@ -492,8 +499,15 @@ receiver_thread (void *arg)
|
||||
guint8 buffer [256];
|
||||
guint8 *p, *p_end;
|
||||
MonoObject *exc;
|
||||
MonoInternalThread *internal;
|
||||
|
||||
mono_native_thread_set_name (mono_native_thread_id_get (), "Attach receiver");
|
||||
internal = mono_thread_internal_current ();
|
||||
mono_thread_set_name_internal (internal, mono_string_new (mono_domain_get (), "Attach receiver"), TRUE, FALSE, &error);
|
||||
mono_error_assert_ok (&error);
|
||||
/* Ask the runtime to not abort this thread */
|
||||
//internal->flags |= MONO_THREAD_FLAG_DONT_MANAGE;
|
||||
/* Ask the runtime to not wait for this thread */
|
||||
internal->state |= ThreadState_Background;
|
||||
|
||||
printf ("attach: Listening on '%s'...\n", server_uri);
|
||||
|
||||
@@ -505,14 +519,6 @@ receiver_thread (void *arg)
|
||||
|
||||
printf ("attach: Connected.\n");
|
||||
|
||||
MonoThread *thread = mono_thread_attach (mono_get_root_domain ());
|
||||
mono_thread_set_name_internal (thread->internal_thread, mono_string_new (mono_get_root_domain (), "Attach receiver"), TRUE, FALSE, &error);
|
||||
mono_error_assert_ok (&error);
|
||||
/* Ask the runtime to not abort this thread */
|
||||
//mono_thread_current ()->flags |= MONO_THREAD_FLAG_DONT_MANAGE;
|
||||
/* Ask the runtime to not wait for this thread */
|
||||
thread->internal_thread->state |= ThreadState_Background;
|
||||
|
||||
while (TRUE) {
|
||||
char *cmd, *agent_name, *agent_args;
|
||||
guint8 *body;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/**
|
||||
* \file
|
||||
*/
|
||||
|
||||
#ifndef __MONO_ATTACH_H__
|
||||
#define __MONO_ATTACH_H__
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* attredefs.h: This file contains the various definitions for constants
|
||||
/**
|
||||
* \file
|
||||
* This file contains the various definitions for constants
|
||||
* found on the metadata tables
|
||||
*
|
||||
* Author:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user