コード例 #1
0
ファイル: codeGen.cpp プロジェクト: ardeujho/self
CodeGen::CodeGen(compilingLookup* l, sendDesc* sd, nmln* d) 
  : a(FInstructionsSize, FInstLocationsSize, PrintCompiledCode, true) {
  scopeDescs = new ScopeDescRecorder(FScopeDesc_size, FPcDesc_size);
  needToFlushRegWindow = haveStackFrame = false;
  frameSize = verifiedOffset = diCheckOffset = 0;
  L = l; send_desc = sd; diLink = d;
  theCodeGen = this;
  initialize_for_platform();
}
コード例 #2
0
ファイル: registerState.cpp プロジェクト: AaronNGray/self
RegisterState::RegisterState(fint maxTemps) {
  allocated = permanent = 0; maxDepth = maxTemps;
  argDepth = stackDepth = curDepth = initStackTemps = 0;
  assert(sizeof(unsigned) == oopSize, "changed this");
  stackAllocs = NEW_RESOURCE_ARRAY( unsigned, MAX);
  stackPerms =  NEW_RESOURCE_ARRAY( unsigned, MAX);
  for (fint i = 0; i < MAX; i++) {
    stackAllocs[i] = stackPerms[i] = 0;
  }
  initialize_for_platform(maxTemps);
}