[llvm-commits] CVS: llvm-java/lib/Compiler/Compiler.cpp
Alkis Evlogimenos
alkis at cs.uiuc.edu
Wed Jul 14 02:44:53 PDT 2004
Changes in directory llvm-java/lib/Compiler:
Compiler.cpp updated: 1.57 -> 1.58
---
Log message:
Move llvm::Java::Constant -> llvm::Constant conversion out of do_ldc.
---
Diffs of the changes: (+19 -16)
Index: llvm-java/lib/Compiler/Compiler.cpp
diff -u llvm-java/lib/Compiler/Compiler.cpp:1.57 llvm-java/lib/Compiler/Compiler.cpp:1.58
--- llvm-java/lib/Compiler/Compiler.cpp:1.57 Wed Jul 14 04:16:41 2004
+++ llvm-java/lib/Compiler/Compiler.cpp Wed Jul 14 04:44:43 2004
@@ -49,6 +49,23 @@
return !isTwoSlotValue(v);
}
+ llvm::Constant* getConstant(const Constant* c) {
+ if (dynamic_cast<const ConstantString*>(c))
+ assert(0 && "not implemented");
+ else if (const ConstantInteger* i =
+ dynamic_cast<const ConstantInteger*>(c))
+ return ConstantSInt::get(Type::IntTy, i->getValue());
+ else if (const ConstantFloat* f = dynamic_cast<const ConstantFloat*>(c))
+ return ConstantFP::get(Type::FloatTy, f->getValue());
+ else if (const ConstantLong* l = dynamic_cast<const ConstantLong*>(c))
+ return ConstantSInt::get(Type::LongTy, l->getValue());
+ else if (const ConstantDouble* d =
+ dynamic_cast<const ConstantDouble*>(c))
+ return ConstantFP::get(Type::DoubleTy, d->getValue());
+ else
+ return NULL; // FIXME: throw something
+ }
+
struct Bytecode2BasicBlockMapper
: public BytecodeParser<Bytecode2BasicBlockMapper> {
public:
@@ -344,22 +361,8 @@
void do_ldc(unsigned bcI, unsigned index) {
const Constant* c = cf_->getConstantPool()[index];
- if (dynamic_cast<const ConstantString*>(c))
- assert(0 && "not implemented");
- else if (const ConstantInteger* i =
- dynamic_cast<const ConstantInteger*>(c))
- opStack_.push(ConstantSInt::get(Type::IntTy, i->getValue()));
- else if (const ConstantFloat* f =
- dynamic_cast<const ConstantFloat*>(c))
- opStack_.push(ConstantFP::get(Type::FloatTy, f->getValue()));
- else if (const ConstantLong* l =
- dynamic_cast<const ConstantLong*>(c))
- opStack_.push(ConstantSInt::get(Type::LongTy, l->getValue()));
- else if (const ConstantDouble* d =
- dynamic_cast<const ConstantDouble*>(c))
- opStack_.push(ConstantFP::get(Type::DoubleTy, d->getValue()));
- else
- ; // FIXME: throw something
+ assert(getConstant(c) && "Java constant not handled!");
+ opStack_.push(getConstant(c));
}
void do_load(unsigned bcI, JType type, unsigned index) {
More information about the llvm-commits
mailing list