浏览代码

Pathced a bug that had caused sporadic traps in Objects.Clock when calling Kernel32.WaitForSingleObject: stack overflow, stack pointer was decreased without reason.

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6624 8c9fc860-2736-0410-a75d-ab315db34111
felixf 9 年之前
父节点
当前提交
66b71f5458
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      source/FoxIntermediateBackend.Mod

+ 1 - 1
source/FoxIntermediateBackend.Mod

@@ -5650,7 +5650,7 @@ TYPE
 				
 				passByRegister := parameterRegisters > 0;
 				registerNumber := 0;
-				IF parameters.Length() > parameterRegisters THEN
+				IF passByRegister & (parameters.Length() > parameterRegisters) THEN
 					gap := (-ParametersSize( system, procedureType, FALSE )) MOD 16;
 					IF gap # 0 THEN
 						IntermediateCode.InitImmediate(size,addressType,gap);