if (OldType == NewType &&
OldType->isAbstract()) return; // Type is modified, but same
- TypeValuesListTy::iterator I = find(MethodTypeValues.begin(),
- MethodTypeValues.end(), OldType);
- if (I == MethodTypeValues.end()) {
+ TypeValuesListTy::iterator I = find(FunctionTypeValues.begin(),
+ FunctionTypeValues.end(), OldType);
+ if (I == FunctionTypeValues.end()) {
I = find(ModuleTypeValues.begin(), ModuleTypeValues.end(), OldType);
assert(I != ModuleTypeValues.end() &&
"Can't refine a type I don't know about!");
Slot = Ty->getPrimitiveID();
} else {
// Check the function level types first...
- TypeValuesListTy::iterator I = find(MethodTypeValues.begin(),
- MethodTypeValues.end(), Ty);
- if (I != MethodTypeValues.end()) {
+ TypeValuesListTy::iterator I = find(FunctionTypeValues.begin(),
+ FunctionTypeValues.end(), Ty);
+ if (I != FunctionTypeValues.end()) {
Slot = FirstDerivedTyID+ModuleTypeValues.size()+
- (&*I - &MethodTypeValues[0]);
+ (&*I - &FunctionTypeValues[0]);
} else {
I = find(ModuleTypeValues.begin(), ModuleTypeValues.end(), Ty);
if (I == ModuleTypeValues.end()) return true; // Didn't find type!
// Nope, is it a function level type?
Num -= ModuleTypeValues.size();
- if (Num < MethodTypeValues.size())
- return (Value*)MethodTypeValues[Num].get();
+ if (Num < FunctionTypeValues.size())
+ return (Value*)FunctionTypeValues[Num].get();
return 0;
}
GlobalRefs.erase(I); // Remove the map entry for it
}
-bool BytecodeParser::ParseMethod(const uchar *&Buf, const uchar *EndBuf) {
+bool BytecodeParser::ParseFunction(const uchar *&Buf, const uchar *EndBuf) {
// Clear out the local values table...
Values.clear();
if (FunctionSignatureList.empty()) {
switch (Type) {
case BytecodeFormat::ConstantPool:
BCR_TRACE(2, "BLOCK BytecodeFormat::ConstantPool: {\n");
- if (ParseConstantPool(Buf, Buf+Size, Values, MethodTypeValues)) {
+ if (ParseConstantPool(Buf, Buf+Size, Values, FunctionTypeValues)) {
delete M; return true;
}
break;
}
Value *FunctionPHolder = getValue(PMTy, MethSlot, false);
- assert(FunctionPHolder && "Something is broken no placeholder found!");
+ assert(FunctionPHolder && "Something is broken, no placeholder found!");
assert(isa<Function>(FunctionPHolder) && "Not a function?");
unsigned type; // Type slot
ModuleValues[type][MethSlot] = M;
// Clear out function level types...
- MethodTypeValues.clear();
+ FunctionTypeValues.clear();
// If anyone is using the placeholder make them use the real function instead
FunctionPHolder->replaceAllUsesWith(M);
case BytecodeFormat::Function: {
BCR_TRACE(1, "BLOCK BytecodeFormat::Function: {\n");
- if (ParseMethod(Buf, Buf+Size)) return true; // Error parsing function
+ if (ParseFunction(Buf, Buf+Size)) return true; // Error parsing function
break;
}
//
typedef std::vector<PATypeHandle<Type> > TypeValuesListTy;
TypeValuesListTy ModuleTypeValues;
- TypeValuesListTy MethodTypeValues;
+ TypeValuesListTy FunctionTypeValues;
// Information read from the ModuleGlobalInfo section of the file...
unsigned FirstDerivedTyID;
bool ParseModule (const uchar * Buf, const uchar *End);
bool ParseModuleGlobalInfo(const uchar *&Buf, const uchar *End);
bool ParseSymbolTable (const uchar *&Buf, const uchar *End, SymbolTable *);
- bool ParseMethod (const uchar *&Buf, const uchar *End);
+ bool ParseFunction (const uchar *&Buf, const uchar *End);
bool ParseBasicBlock (const uchar *&Buf, const uchar *End, BasicBlock *&);
bool ParseInstruction (const uchar *&Buf, const uchar *End, Instruction *&,
BasicBlock *BB /*HACK*/);