diff options
Diffstat (limited to 'src/qml/compiler/qv4regalloc.cpp')
-rw-r--r-- | src/qml/compiler/qv4regalloc.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qml/compiler/qv4regalloc.cpp b/src/qml/compiler/qv4regalloc.cpp index 67f2234fab..f82a5fcf1c 100644 --- a/src/qml/compiler/qv4regalloc.cpp +++ b/src/qml/compiler/qv4regalloc.cpp @@ -234,13 +234,11 @@ protected: // IRDecoder virtual void convertType(V4IR::Temp *source, V4IR::Temp *target) { - // TODO: do not generate a call (meaning: block all registers), but annotate the conversion with registers that need to be saved and have masm take care of that. addDef(target); bool needsCall = true; Use::RegisterFlag sourceReg = Use::CouldHaveRegister; - // TODO: verify this method switch (target->type) { case DoubleType: if (source->type == UInt32Type) { @@ -248,8 +246,12 @@ protected: // IRDecoder needsCall = false; break; } -#if 0 // TODO: change masm to generate code case SInt32Type: + if (source->type == DoubleType || source->type == UInt32Type) { + // this might need a call + break; + } +#if 0 // TODO: change masm to generate code case UInt32Type: #endif case BoolType: |