summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2016-09-09 10:57:45 +0200
committerGitHub <noreply@github.com>2016-09-09 10:57:45 +0200
commit23c166d03a673e515131c2bb8777de308c0637ce (patch)
tree6ea7b89cb6f9dc0090eea263e3f820314d689a09
parent14628f3218c4678817dedbb41f396ac62d139b8d (diff)
downloadcoreclr-23c166d03a673e515131c2bb8777de308c0637ce.tar.gz
coreclr-23c166d03a673e515131c2bb8777de308c0637ce.tar.bz2
coreclr-23c166d03a673e515131c2bb8777de308c0637ce.zip
Fix enregistered max size constants on Unix AMD64 (#7117)
This change fixes ENREGISTERED_PARAMTYPE_MAXSIZE and ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE constants that were not updated properly for the Unix AMD64 ABI. The values are used for Unix/AMD64 for marshalling and typedbyref parameters and our tests probably don't execute those code paths with structs larger than 8 bytes.
-rw-r--r--src/vm/amd64/cgencpu.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vm/amd64/cgencpu.h b/src/vm/amd64/cgencpu.h
index 258ac38915..769f4029ee 100644
--- a/src/vm/amd64/cgencpu.h
+++ b/src/vm/amd64/cgencpu.h
@@ -65,14 +65,16 @@ EXTERN_C void FastCallFinalizeWorker(Object *obj, PCODE funcPtr);
#define CACHE_LINE_SIZE 64 // Current AMD64 processors have 64-byte cache lines as per AMD64 optmization manual
#define LOG2SLOT LOG2_PTRSIZE
-#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 8 // bytes
-#define ENREGISTERED_PARAMTYPE_MAXSIZE 8 // bytes
#ifdef UNIX_AMD64_ABI
+#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 16 // bytes
+#define ENREGISTERED_PARAMTYPE_MAXSIZE 16 // bytes
#define ENREGISTERED_RETURNTYPE_MAXSIZE 16 // bytes
#define CALLDESCR_ARGREGS 1 // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS 1 // CallDescrWorker has FloatArgumentRegisters parameter
#else
+#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 8 // bytes
+#define ENREGISTERED_PARAMTYPE_MAXSIZE 8 // bytes
#define ENREGISTERED_RETURNTYPE_MAXSIZE 8 // bytes
#define COM_STUBS_SEPARATE_FP_LOCATIONS
#define CALLDESCR_REGTYPEMAP 1