[llvm-commits] CVS: llvm-java/lib/Compiler/VMClass.h VMClass.cpp Resolver.h Resolver.cpp Compiler.cpp
Alkis Evlogimenos
alkis at cs.uiuc.edu
Sat Apr 2 00:18:31 PST 2005
Changes in directory llvm-java/lib/Compiler:
VMClass.h updated: 1.29 -> 1.30
VMClass.cpp updated: 1.39 -> 1.40
Resolver.h updated: 1.12 -> 1.13
Resolver.cpp updated: 1.15 -> 1.16
Compiler.cpp updated: 1.276 -> 1.277
---
Log message:
Differentiate between the class name and the class descriptor.
---
Diffs of the changes: (+26 -18)
Compiler.cpp | 5 +----
Resolver.cpp | 3 +--
Resolver.h | 4 ++--
VMClass.cpp | 30 ++++++++++++++++++++----------
VMClass.h | 2 ++
5 files changed, 26 insertions(+), 18 deletions(-)
Index: llvm-java/lib/Compiler/VMClass.h
diff -u llvm-java/lib/Compiler/VMClass.h:1.29 llvm-java/lib/Compiler/VMClass.h:1.30
--- llvm-java/lib/Compiler/VMClass.h:1.29 Fri Apr 1 21:06:35 2005
+++ llvm-java/lib/Compiler/VMClass.h Sat Apr 2 02:18:20 2005
@@ -33,6 +33,7 @@
static const int INVALID_INTERFACE_INDEX = -1;
const std::string name_;
+ const std::string descriptor_;
Resolver* resolver_;
const ClassFile* classFile_;
const VMClass* componentClass_;
@@ -86,6 +87,7 @@
public:
const std::string& getName() const { return name_; }
+ const std::string& getDescriptor() const { return descriptor_; }
Resolver* getResolver() const { return resolver_; }
const Type* getLayoutType() const { return layoutType_; }
const Type* getType() const { return type_; }
Index: llvm-java/lib/Compiler/VMClass.cpp
diff -u llvm-java/lib/Compiler/VMClass.cpp:1.39 llvm-java/lib/Compiler/VMClass.cpp:1.40
--- llvm-java/lib/Compiler/VMClass.cpp:1.39 Fri Apr 1 21:06:35 2005
+++ llvm-java/lib/Compiler/VMClass.cpp Sat Apr 2 02:18:20 2005
@@ -42,7 +42,8 @@
}
VMClass::VMClass(Resolver* resolver, const std::string& className)
- : name_(Resolver::canonicalizeClassName(className)),
+ : name_(className),
+ descriptor_(Resolver::canonicalizeClassName(className)),
resolver_(resolver),
classFile_(ClassFile::get(className)),
componentClass_(NULL),
@@ -55,7 +56,8 @@
}
VMClass::VMClass(Resolver* resolver, const VMClass* componentClass)
- : name_('[' + componentClass->getName()),
+ : name_('[' + componentClass->getDescriptor()),
+ descriptor_(name_),
resolver_(resolver),
classFile_(NULL),
componentClass_(componentClass),
@@ -67,14 +69,22 @@
}
VMClass::VMClass(Resolver* resolver, const Type* type)
- : name_(type == Type::SByteTy ? "B" :
- type == Type::UShortTy ? "C" :
- type == Type::DoubleTy ? "D" :
- type == Type::FloatTy ? "F" :
- type == Type::IntTy ? "I" :
- type == Type::LongTy ? "J" :
- type == Type::ShortTy ? "S" :
- type == Type::BoolTy ? "Z" : "V"),
+ : name_(type == Type::SByteTy ? "byte" :
+ type == Type::UShortTy ? "char" :
+ type == Type::DoubleTy ? "double" :
+ type == Type::FloatTy ? "float" :
+ type == Type::IntTy ? "int" :
+ type == Type::LongTy ? "long" :
+ type == Type::ShortTy ? "short" :
+ type == Type::BoolTy ? "boolean" : "void"),
+ descriptor_(type == Type::SByteTy ? "B" :
+ type == Type::UShortTy ? "C" :
+ type == Type::DoubleTy ? "D" :
+ type == Type::FloatTy ? "F" :
+ type == Type::IntTy ? "I" :
+ type == Type::LongTy ? "J" :
+ type == Type::ShortTy ? "S" :
+ type == Type::BoolTy ? "Z" : "V"),
resolver_(resolver),
classFile_(NULL),
componentClass_(NULL),
Index: llvm-java/lib/Compiler/Resolver.h
diff -u llvm-java/lib/Compiler/Resolver.h:1.12 llvm-java/lib/Compiler/Resolver.h:1.13
--- llvm-java/lib/Compiler/Resolver.h:1.12 Thu Mar 31 01:56:28 2005
+++ llvm-java/lib/Compiler/Resolver.h Sat Apr 2 02:18:20 2005
@@ -42,7 +42,7 @@
bool memberMethod = false) const;
ClassMap::iterator insertClass(ClassMap::iterator i, const VMClass& clazz) {
- return classMap_.insert(i, std::make_pair(clazz.getName(), clazz));
+ return classMap_.insert(i, std::make_pair(clazz.getDescriptor(), clazz));
}
friend class VMClass;
@@ -82,7 +82,7 @@
const VMClass* getClass(JType type);
const VMClass* getArrayClass(const VMClass* clazz) {
- return getClassForDesc('[' + clazz->getName());
+ return getClassForDesc('[' + clazz->getDescriptor());
}
unsigned getNextInterfaceIndex() { return nextInterfaceIndex_++; }
Index: llvm-java/lib/Compiler/Resolver.cpp
diff -u llvm-java/lib/Compiler/Resolver.cpp:1.15 llvm-java/lib/Compiler/Resolver.cpp:1.16
--- llvm-java/lib/Compiler/Resolver.cpp:1.15 Fri Apr 1 21:06:35 2005
+++ llvm-java/lib/Compiler/Resolver.cpp Sat Apr 2 02:18:20 2005
@@ -125,7 +125,6 @@
{
ClassMap::iterator it = classMap_.lower_bound(descriptor);
if (it == classMap_.end() || it->first != descriptor) {
- DEBUG(std::cerr << "Loading class: " << descriptor << '\n');
switch (descriptor[0]) {
case 'B':
it = insertClass(it, VMClass(this, Type::SByteTy));
@@ -172,7 +171,7 @@
it->second.link();
if (!it->second.isPrimitive() && !it->second.isInterface())
module_->addTypeName("struct." + descriptor, it->second.getLayoutType());
- DEBUG(std::cerr << "Loaded class: " << descriptor);
+ DEBUG(std::cerr << "Loaded class: " << it->second.getName());
DEBUG(std::cerr << " (" << it->second.getInterfaceIndex() << ")\n");
}
Index: llvm-java/lib/Compiler/Compiler.cpp
diff -u llvm-java/lib/Compiler/Compiler.cpp:1.276 llvm-java/lib/Compiler/Compiler.cpp:1.277
--- llvm-java/lib/Compiler/Compiler.cpp:1.276 Fri Apr 1 21:06:35 2005
+++ llvm-java/lib/Compiler/Compiler.cpp Sat Apr 2 02:18:20 2005
@@ -259,9 +259,6 @@
return;
}
- const std::string& className =
- class_->getClassFile()->getThisClass()->getName()->str();
-
if (method->isNative()) {
DEBUG(std::cerr << "Adding stub for natively implemented method: "
<< function->getName() << '\n');
@@ -270,7 +267,7 @@
std::string funcName =
"Java_" +
- getMangledString(className) + '_' +
+ getMangledString(class_->getName()) + '_' +
getMangledString(method->getName());
if (class_->getClassFile()->isNativeMethodOverloaded(*method->getMethod())) {
// We need to add two underscores and a mangled argument signature
More information about the llvm-commits
mailing list