diff dyncall/dyncall_callvm_sparc64.c @ 466:ddfb9577a00e

introduced platform-native thiscall mode (DC_CALL_C_DEFAULT_THIS), as needed for upcoming aggregate support (until now only x86 platforms allowed for specifically selecting thiscall mode, given the different conventions on the same platform); also added respective DC_SIGCHAR_CC_THISCALL ('*')
author Tassilo Philipp
date Wed, 02 Feb 2022 18:30:44 +0100
parents ad5f9803f52f
children 71c884e610f0
line wrap: on
line diff
--- a/dyncall/dyncall_callvm_sparc64.c	Wed Feb 02 12:55:23 2022 +0100
+++ b/dyncall/dyncall_callvm_sparc64.c	Wed Feb 02 18:30:44 2022 +0100
@@ -92,60 +92,60 @@
 
 static void dc_callvm_mode_v9(DCCallVM* in_self, DCint mode);
 
-DCCallVM_vt gVT_v9_ellipsis = 
+DCCallVM_vt gVT_v9_ellipsis =
 {
-  &dc_callvm_free_v9, 
-  &dc_callvm_reset_v9, 
-  &dc_callvm_mode_v9, 
-  &dc_callvm_argBool_v9, 
-  &dc_callvm_argChar_v9, 
-  &dc_callvm_argShort_v9, 
-  &dc_callvm_argInt_v9, 
-  &dc_callvm_argLong_v9, 
-  &dc_callvm_argLongLong_v9, 
-  &dc_callvm_argFloat_v9_ellipsis, 
-  &dc_callvm_argDouble_v9_ellipsis, 
-  &dc_callvm_argPointer_v9, 
-  NULL /* argStruct */, 
-  (DCvoidvmfunc*)       &dcCall_v9, 
-  (DCboolvmfunc*)       &dcCall_v9, 
-  (DCcharvmfunc*)       &dcCall_v9, 
-  (DCshortvmfunc*)      &dcCall_v9, 
-  (DCintvmfunc*)        &dcCall_v9, 
-  (DClongvmfunc*)       &dcCall_v9, 
-  (DClonglongvmfunc*)   &dcCall_v9, 
-  (DCfloatvmfunc*)      &dcCall_v9, 
-  (DCdoublevmfunc*)     &dcCall_v9, 
-  (DCpointervmfunc*)    &dcCall_v9, 
+  &dc_callvm_free_v9,
+  &dc_callvm_reset_v9,
+  &dc_callvm_mode_v9,
+  &dc_callvm_argBool_v9,
+  &dc_callvm_argChar_v9,
+  &dc_callvm_argShort_v9,
+  &dc_callvm_argInt_v9,
+  &dc_callvm_argLong_v9,
+  &dc_callvm_argLongLong_v9,
+  &dc_callvm_argFloat_v9_ellipsis,
+  &dc_callvm_argDouble_v9_ellipsis,
+  &dc_callvm_argPointer_v9,
+  NULL /* argStruct */,
+  (DCvoidvmfunc*)       &dcCall_v9,
+  (DCboolvmfunc*)       &dcCall_v9,
+  (DCcharvmfunc*)       &dcCall_v9,
+  (DCshortvmfunc*)      &dcCall_v9,
+  (DCintvmfunc*)        &dcCall_v9,
+  (DClongvmfunc*)       &dcCall_v9,
+  (DClonglongvmfunc*)   &dcCall_v9,
+  (DCfloatvmfunc*)      &dcCall_v9,
+  (DCdoublevmfunc*)     &dcCall_v9,
+  (DCpointervmfunc*)    &dcCall_v9,
   NULL /* callStruct */
 };
 
 /* CallVM virtual table. */
 DCCallVM_vt gVT_v9 =
 {
-  &dc_callvm_free_v9, 
-  &dc_callvm_reset_v9, 
-  &dc_callvm_mode_v9, 
-  &dc_callvm_argBool_v9, 
-  &dc_callvm_argChar_v9, 
-  &dc_callvm_argShort_v9, 
-  &dc_callvm_argInt_v9, 
-  &dc_callvm_argLong_v9, 
-  &dc_callvm_argLongLong_v9, 
-  &dc_callvm_argFloat_v9, 
-  &dc_callvm_argDouble_v9, 
-  &dc_callvm_argPointer_v9, 
-  NULL /* argStruct */, 
-  (DCvoidvmfunc*)       &dcCall_v9, 
-  (DCboolvmfunc*)       &dcCall_v9, 
-  (DCcharvmfunc*)       &dcCall_v9, 
-  (DCshortvmfunc*)      &dcCall_v9, 
-  (DCintvmfunc*)        &dcCall_v9, 
-  (DClongvmfunc*)       &dcCall_v9, 
-  (DClonglongvmfunc*)   &dcCall_v9, 
-  (DCfloatvmfunc*)      &dcCall_v9, 
-  (DCdoublevmfunc*)     &dcCall_v9, 
-  (DCpointervmfunc*)    &dcCall_v9, 
+  &dc_callvm_free_v9,
+  &dc_callvm_reset_v9,
+  &dc_callvm_mode_v9,
+  &dc_callvm_argBool_v9,
+  &dc_callvm_argChar_v9,
+  &dc_callvm_argShort_v9,
+  &dc_callvm_argInt_v9,
+  &dc_callvm_argLong_v9,
+  &dc_callvm_argLongLong_v9,
+  &dc_callvm_argFloat_v9,
+  &dc_callvm_argDouble_v9,
+  &dc_callvm_argPointer_v9,
+  NULL /* argStruct */,
+  (DCvoidvmfunc*)       &dcCall_v9,
+  (DCboolvmfunc*)       &dcCall_v9,
+  (DCcharvmfunc*)       &dcCall_v9,
+  (DCshortvmfunc*)      &dcCall_v9,
+  (DCintvmfunc*)        &dcCall_v9,
+  (DClongvmfunc*)       &dcCall_v9,
+  (DClonglongvmfunc*)   &dcCall_v9,
+  (DCfloatvmfunc*)      &dcCall_v9,
+  (DCdoublevmfunc*)     &dcCall_v9,
+  (DCpointervmfunc*)    &dcCall_v9,
   NULL /* callStruct */
 };
 
@@ -157,6 +157,7 @@
 
   switch(mode) {
     case DC_CALL_C_DEFAULT:
+    case DC_CALL_C_DEFAULT_THIS:
     case DC_CALL_C_SPARC64:
     case DC_CALL_C_ELLIPSIS:
       vt = &gVT_v9;
@@ -165,8 +166,8 @@
       vt = &gVT_v9_ellipsis;
       break;
     default:
-      self->mInterface.mError = DC_ERROR_UNSUPPORTED_MODE; 
-      return; 
+      self->mInterface.mError = DC_ERROR_UNSUPPORTED_MODE;
+      return;
   }
   dc_callvm_base_init(&self->mInterface, vt);
 }