aboutsummaryrefslogtreecommitdiff
path: root/modules/Internals/CallConv.pm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/Internals/CallConv.pm')
-rw-r--r--modules/Internals/CallConv.pm13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/Internals/CallConv.pm b/modules/Internals/CallConv.pm
index ebab672..98b86dc 100644
--- a/modules/Internals/CallConv.pm
+++ b/modules/Internals/CallConv.pm
@@ -1307,9 +1307,20 @@ sub callingConvention_P_Real($$)
$Conv{"Method"} = "reg";
$Conv{"Registers"} = join(", ", @R);
}
- else {
+ else
+ {
$Conv{"Method"} = "stack";
+
+ if(defined $SInfo->{"Param"}
+ and defined $SInfo->{"Param"}{0})
+ {
+ if(not defined $SInfo->{"Param"}{0}{"offset"})
+ {
+ $Conv{"Method"} = "unknown";
+ }
+ }
}
+
return %Conv;
}