Changeset 120 in dev for BasicCompiler64
- Timestamp:
- May 13, 2007, 8:50:04 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/Compile_Var.cpp
r116 r120 1090 1090 if( pVar->IsStruct() ){ 1091 1091 int alignment = pVar->GetClass().iAlign; 1092 1092 1093 if( alignment ){ 1093 1094 if( AllLocalVarSize % alignment ){ 1094 1095 AllLocalVarSize += alignment - (AllLocalVarSize % alignment); 1096 } 1097 } 1098 1099 if( alignment == PTR_SIZE*2 ){ 1100 // ポインタに要するサイズよりも一回り大きなアラインメントが指定されているとき 1101 // (例:CONTEXT構造体など) 1102 // 呼び出し側のオフセットズレを考慮する 1103 1104 if( 0 == ( UserProc::CompilingUserProc().RealParams().GetMemorySize() + PTR_SIZE/*ret分*/ ) % alignment ){ 1105 AllLocalVarSize += PTR_SIZE; 1095 1106 } 1096 1107 }
Note:
See TracChangeset
for help on using the changeset viewer.