Index: trunk/abdev/BasicCompiler64/BasicCompiler.vcproj
===================================================================
--- trunk/abdev/BasicCompiler64/BasicCompiler.vcproj	(revision 219)
+++ trunk/abdev/BasicCompiler64/BasicCompiler.vcproj	(revision 220)
@@ -478,5 +478,4 @@
 						<Tool
 							Name="VCCLCompilerTool"
-							PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 							UsePrecompiledHeader="0"
 							BrowseInformation="0"
@@ -501,5 +500,4 @@
 						<Tool
 							Name="VCCLCompilerTool"
-							PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 							UsePrecompiledHeader="0"
 							BrowseInformation="0"
@@ -524,5 +522,4 @@
 						<Tool
 							Name="VCCLCompilerTool"
-							PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 							UsePrecompiledHeader="0"
 							BrowseInformation="0"
@@ -547,5 +544,4 @@
 						<Tool
 							Name="VCCLCompilerTool"
-							PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 							UsePrecompiledHeader="0"
 							BrowseInformation="0"
@@ -573,5 +569,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -596,5 +591,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -619,5 +613,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -646,5 +639,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -669,5 +661,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -692,5 +683,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -715,5 +705,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -738,5 +727,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -777,5 +765,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -816,5 +803,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -839,5 +825,4 @@
 							<Tool
 								Name="VCCLCompilerTool"
-								PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;JPN;$(NoInherit)"
 								UsePrecompiledHeader="0"
 								BrowseInformation="0"
@@ -1136,4 +1121,12 @@
 					RelativePath="..\BasicCompiler_Common\src\BoostSerializationSupport.cpp"
 					>
+					<FileConfiguration
+						Name="Debug|Win32"
+						>
+						<Tool
+							Name="VCCLCompilerTool"
+							AdditionalOptions="/bigobj"
+						/>
+					</FileConfiguration>
 					<FileConfiguration
 						Name="Release|Win32"
Index: trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
===================================================================
--- trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp	(revision 219)
+++ trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp	(revision 220)
@@ -63,8 +63,8 @@
 
 		//add rsp,スタックフレームサイズ
-		op_add_RV(REG_RSP,pobj_sf->GetFrameSize());
+		op_add_RV(REG_RSP,pobj_sf->GetFrameSize(0));
 
 		//スタックフレームスケジュール（subコマンドに渡す値）
-		*((long *)(OpBuffer+StackFrameSchedule))=pobj_sf->GetFrameSize();
+		*((long *)(OpBuffer+StackFrameSchedule))=pobj_sf->GetFrameSize(0);
 
 		UserProc::CompileStartForUserProc( pBackUserProc );
@@ -100,8 +100,8 @@
 
 		//add rsp,スタックフレームサイズ
-		op_add_RV(REG_RSP,pobj_sf->GetFrameSize());
+		op_add_RV(REG_RSP,pobj_sf->GetFrameSize(0));
 
 		//スタックフレームスケジュール（subコマンドに渡す値）
-		*((long *)(OpBuffer+StackFrameSchedule))=pobj_sf->GetFrameSize();
+		*((long *)(OpBuffer+StackFrameSchedule))=pobj_sf->GetFrameSize(0);
 
 		//ret
@@ -735,12 +735,16 @@
 	}
 
+	if( pUserProc->GetName() == "test" )
+	{
+		int test=0;
+	}
+
 	//ローカル変数領域のサイズをスタックフレームに通知
-	int iLocalParmSize;
-	iLocalParmSize=AllLocalVarSize-BaseLocalVar;
-	pobj_sf->SetLocalParmSize(iLocalParmSize);
+	int localParmSize = AllLocalVarSize - BaseLocalVar;
+	int stackFrameSize = pobj_sf->GetFrameSize( AllLocalVarSize );
 
 	//ローカル変数アドレススケジュール
 	for(i3=0;i3<LocalVarAddrScheduleNum;i3++){
-		*((long *)(OpBuffer+pLocalVarAddrSchedule[i3]))+=AllLocalVarSize+pobj_sf->GetFrameSize();
+		*((long *)(OpBuffer+pLocalVarAddrSchedule[i3])) += AllLocalVarSize + stackFrameSize;
 	}
 	HeapDefaultFree(pLocalVarAddrSchedule);
@@ -748,5 +752,5 @@
 		//後にデバッグで利用する
 		pVar->SetOffsetAddress(
-			AllLocalVarSize + pobj_sf->GetFrameSize() - pVar->GetOffsetAddress()
+			AllLocalVarSize + stackFrameSize - pVar->GetOffsetAddress()
 		);
 	}
@@ -761,9 +765,8 @@
 	pobj_sf->pop(REG_RBX);
 
-	int iStackFrameSize;
-	iStackFrameSize=iLocalParmSize + pobj_sf->GetFrameSize();
+	int stackFrameAndLocalParamSize = localParmSize + stackFrameSize;
 
 	//add rsp,スタックフレームサイズ
-	op_add_rsp(iStackFrameSize);
+	op_add_rsp(stackFrameAndLocalParamSize);
 
 	//ret
@@ -773,14 +776,14 @@
 	//デバッグ用
 	if(RspOffsetSchedule){
-		*((long *)(OpBuffer+RspOffsetSchedule))=iStackFrameSize;
-		*((long *)(OpBuffer+RspOffsetSchedule2))=iStackFrameSize+sizeof(_int64);
+		*((long *)(OpBuffer+RspOffsetSchedule))=stackFrameAndLocalParamSize;
+		*((long *)(OpBuffer+RspOffsetSchedule2))=stackFrameAndLocalParamSize+sizeof(_int64);
 	}
 
 
 	//スタックフレームスケジュール（subコマンド）
-	*((long *)(OpBuffer+StackFrameSchedule))=iStackFrameSize;
+	*((long *)(OpBuffer+StackFrameSchedule))=stackFrameAndLocalParamSize;
 
 	//スタックフレームスケジュールを実行
-	pobj_sf->RunningSchedule();
+	pobj_sf->RunningSchedule( stackFrameSize );
 	delete pobj_sf;
 	pobj_sf=0;
Index: trunk/abdev/BasicCompiler64/MakePeHdr.cpp
===================================================================
--- trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 219)
+++ trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 220)
@@ -449,5 +449,6 @@
 
 		//add rsp,スタックフレームサイズ
-		op_add_RV(REG_RSP,pobj_sf->GetFrameSize());
+		int stackFrameSize = pobj_sf->GetFrameSize(0);
+		op_add_RV( REG_RSP, stackFrameSize );
 
 		//xor rax,rax（raxを0に初期化する）
@@ -462,8 +463,8 @@
 
 		//スタックフレームスケジュール（subコマンドに渡す値）
-		*((long *)(OpBuffer+StackFrameSchedule))=pobj_sf->GetFrameSize();
+		*((long *)(OpBuffer+StackFrameSchedule)) = stackFrameSize;
 
 		//スタックフレームスケジュールを実行
-		pobj_sf->RunningSchedule();
+		pobj_sf->RunningSchedule( stackFrameSize );
 		delete pobj_sf;
 		pobj_sf=0;
Index: trunk/abdev/BasicCompiler64/Opcode.h
===================================================================
--- trunk/abdev/BasicCompiler64/Opcode.h	(revision 219)
+++ trunk/abdev/BasicCompiler64/Opcode.h	(revision 220)
@@ -117,5 +117,4 @@
 	int now_sp;				//スタックポインタ
 	int max_parm_size;		//パラメータの最大サイズ
-	int local_parm_size;	//ローカル領域のパラメータサイズ
 
 public:
@@ -126,6 +125,5 @@
 	~CStackFrame();
 
-	void SetLocalParmSize(int size);
-	int GetFrameSize();
+	int GetFrameSize( int localParamSize );
 	int GetNowSp();
 	void mov_sp( int reg );
@@ -138,5 +136,5 @@
 	void pop(int xmm_reg,int varSize);
 	void parameter_allocate(int size);
-	void RunningSchedule(void);
+	void RunningSchedule( int stackFrameSize );
 
 	void error_check(void);
Index: trunk/abdev/BasicCompiler64/stack_frame.cpp
===================================================================
--- trunk/abdev/BasicCompiler64/stack_frame.cpp	(revision 219)
+++ trunk/abdev/BasicCompiler64/stack_frame.cpp	(revision 220)
@@ -12,5 +12,4 @@
 	lowest_sp=0;
 	now_sp=0;
-	local_parm_size=0;
 	max_parm_size=0;
 }
@@ -19,13 +18,10 @@
 	error_check();
 }
-void CStackFrame::SetLocalParmSize(int size){
-	local_parm_size=size;
-}
-int CStackFrame::GetFrameSize(){
+int CStackFrame::GetFrameSize( int localParamSize ){
 	int answer_sp;
 
 	answer_sp=lowest_sp-max_parm_size;
 
-	if((local_parm_size%0x10)==0){
+	if((localParamSize%0x10)){
 		if((answer_sp%0x10)==0){
 			//関数のエントリポイントで128ビット境界ラインに合わせるため
@@ -142,10 +138,7 @@
 	if(max_parm_size<size) max_parm_size=size;
 }
-void CStackFrame::RunningSchedule(void){
-	int i;
-	int all_size;
-	all_size=GetFrameSize();
-	for(i=0;i<num;i++){
-		*((long *)(OpBuffer+pObpValues[i]))+=all_size;
+void CStackFrame::RunningSchedule( int stackFrameSize ){
+	for(int i=0;i<num;i++){
+		*((long *)(OpBuffer+pObpValues[i])) += stackFrameSize;
 	}
 }
Index: trunk/abdev/BasicCompiler_Common/VarList.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/VarList.cpp	(revision 219)
+++ trunk/abdev/BasicCompiler_Common/VarList.cpp	(revision 220)
@@ -225,4 +225,5 @@
 	UseCount[i]=-2;
 	MemCounter=0;
+	i--;
 	while(1){
 		UseCount[i]++;
