diff --git a/src/codegen/compiler.cpp b/src/codegen/compiler.cpp index ed94ad5dea..125284dbd4 100644 --- a/src/codegen/compiler.cpp +++ b/src/codegen/compiler.cpp @@ -2632,6 +2632,8 @@ class MyCompiler: public Compiler { ir::Type dstType) { assert(&c, dstType.size() >= TargetBytesPerWord); + assert(&c, srcType.flavor() == srcSelectType.flavor()); + assert(&c, srcType.flavor() == dstType.flavor()); Value* dst = value(&c, static_cast(src)->type); appendMove(&c, @@ -2650,6 +2652,8 @@ class MyCompiler: public Compiler { ir::Type dstType) { assert(&c, dstType.size() >= TargetBytesPerWord); + assert(&c, srcType.flavor() == srcSelectType.flavor()); + assert(&c, srcType.flavor() == dstType.flavor()); Value* dst = value(&c, static_cast(src)->type); appendMove(&c, diff --git a/src/compile.cpp b/src/compile.cpp index 0a4cd0ad43..fd9416b5fd 100644 --- a/src/compile.cpp +++ b/src/compile.cpp @@ -4103,7 +4103,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp, c->load(types.f4, types.f4, c->memory(array, types.f4, TargetArrayBody, index), - types.address)); + types.f8)); break; case iaload: @@ -4648,7 +4648,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned initialIp, types.f4, types.f4, c->memory(table, types.f4, targetFieldOffset(context, field)), - types.address)); + types.f8)); break; case IntField: