QML: Fix MSVC 2013/64bit warnings.

compiler\qv4ssa.cpp(687) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
compiler\qv4ssa.cpp(950) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
compiler\qv4ssa.cpp(1117) : warning C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
compiler\qv4ssa.cpp(1120) : warning C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
compiler\qv4ssa.cpp(1148) : warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
compiler\qv4ssa.cpp(1266) : warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
compiler\qv4ssa.cpp(1622) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
compiler\qv4ssa.cpp(2246) : warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
compiler\qv4ssa.cpp(4289) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
compiler\qv4ssa.cpp(4351) : warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
jit\qv4regalloc.cpp(1383) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
jit\qv4regalloc.cpp(1769) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
jit\qv4regalloc.cpp(1814) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
jsruntime\qv4mm.cpp(496) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
jsruntime\qv4mm.cpp(503) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
jsruntime\qv4mm.cpp(506) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
jsruntime\qv4regexp.cpp(60) : warning C4267: 'return' : conversion from 'size_t' to 'uint', possible loss of data
jsruntime\qv4typedarray.cpp(85) : warning C4309: '=' : truncation of constant value

Change-Id: I0b04e1a9d379c068fb3efe90a9db8b592061e448
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This commit is contained in:
Friedemann Kleint 2015-01-22 09:38:22 +01:00
parent 66fa6faff1
commit ffe0f153f9
5 changed files with 29 additions and 23 deletions

View File

@ -684,7 +684,7 @@ public:
return;
for (size_t i = 0, ei = idom.size(); i != ei; ++i) {
if (idom[i] == dominator) {
BasicBlock *bb = function->basicBlock(i);
BasicBlock *bb = function->basicBlock(int(i));
if (!bb->isRemoved())
siblings.insert(bb);
}
@ -946,8 +946,9 @@ public:
for (int i = 0; i < function->tempCount; ++i)
_defsites[i].init(function);
nonLocals.resize(function->tempCount);
A_orig.resize(function->basicBlockCount());
for (int i = 0, ei = A_orig.size(); i != ei; ++i)
const size_t ei = function->basicBlockCount();
A_orig.resize(ei);
for (size_t i = 0; i != ei; ++i)
A_orig[i].reserve(8);
foreach (BasicBlock *bb, function->basicBlocks()) {
@ -1114,10 +1115,10 @@ public:
}
unsigned statementCount() const
{ return _usesPerStatement.size(); }
{ return unsigned(_usesPerStatement.size()); }
unsigned tempCount() const
{ return _defUses.size(); }
{ return unsigned(_defUses.size()); }
const Temp &temp(int idx) const
{ return _defUses[idx].temp; }
@ -1144,8 +1145,9 @@ public:
std::vector<const Temp *> defs() const {
std::vector<const Temp *> res;
res.reserve(_defUses.size());
for (unsigned i = 0, ei = _defUses.size(); i != ei; ++i) {
const size_t ei = _defUses.size();
res.reserve(ei);
for (size_t i = 0; i != ei; ++i) {
const DefUse &du = _defUses.at(i);
if (du.isValid())
res.push_back(&du.temp);
@ -1263,7 +1265,7 @@ public:
qout << endl;
}
qout << "Uses per statement:" << endl;
for (unsigned i = 0, ei = _usesPerStatement.size(); i != ei; ++i) {
for (size_t i = 0, ei = _usesPerStatement.size(); i != ei; ++i) {
qout << " " << i << ":";
foreach (const Temp &t, _usesPerStatement[i])
qout << ' ' << t.index;
@ -1618,8 +1620,9 @@ void convertToSSA(IR::Function *function, const DominatorTree &df, DefUses &defU
// Prepare for phi node insertion:
std::vector<std::vector<bool> > A_phi;
A_phi.resize(function->basicBlockCount());
for (int i = 0, ei = A_phi.size(); i != ei; ++i)
const size_t ei = function->basicBlockCount();
A_phi.resize(ei);
for (size_t i = 0; i != ei; ++i)
A_phi[i].assign(function->tempCount, false);
std::vector<BasicBlock *> W;
@ -2243,8 +2246,8 @@ public:
}
PropagateTempTypes propagator(_defUses);
for (unsigned i = 0, ei = _tempTypes.size(); i != ei; ++i) {
const Temp &temp = _defUses.temp(i);
for (size_t i = 0, ei = _tempTypes.size(); i != ei; ++i) {
const Temp &temp = _defUses.temp(int(i));
if (temp.kind == Temp::Invalid)
continue;
const DiscoveredType &tempType = _tempTypes[i];
@ -4286,7 +4289,7 @@ public:
}
IRPrinter printer(&qout);
for (int i = 0, ei = _liveIn.size(); i != ei; ++i) {
for (size_t i = 0, ei = _liveIn.size(); i != ei; ++i) {
qout << "L" << i <<" live-in: ";
QList<Temp> live = QList<Temp>::fromSet(_liveIn.at(i));
if (live.isEmpty())
@ -4348,7 +4351,7 @@ private:
_sortedIntervals->add(&lti);
}
//### TODO: use DefUses from the optimizer, because it already has all this information
for (unsigned i = 0, ei = collector.inputs.size(); i != ei; ++i) {
for (size_t i = 0, ei = collector.inputs.size(); i != ei; ++i) {
Temp *opd = collector.inputs[i];
interval(opd).addRange(start(bb), usePosition(s));
live.insert(*opd);

View File

@ -1380,7 +1380,7 @@ LifeTimeInterval *RegisterAllocator::cloneFixedInterval(int reg, bool isFP, cons
// saved registers.
void RegisterAllocator::prepareRanges()
{
LifeTimeInterval ltiWithCalls = createFixedInterval(_info->calls().size());
LifeTimeInterval ltiWithCalls = createFixedInterval(int(_info->calls().size()));
foreach (int callPosition, _info->calls())
ltiWithCalls.addRange(callPosition, callPosition);
@ -1765,9 +1765,12 @@ int RegisterAllocator::nextIntersection(const LifeTimeInterval &current,
/// Find the first use after the start position for the given temp.
int RegisterAllocator::nextUse(const Temp &t, int startPosition) const
{
typedef std::vector<Use>::const_iterator ConstIt;
const std::vector<Use> &usePositions = _info->uses(t);
for (int i = 0, ei = usePositions.size(); i != ei; ++i) { //### FIXME: use an iterator
const int usePos = usePositions.at(i).pos;
const ConstIt cend = usePositions.end();
for (ConstIt it = usePositions.begin(); it != cend; ++it) {
const int usePos = it->pos;
if (usePos >= startPosition)
return usePos;
}
@ -1811,7 +1814,7 @@ void RegisterAllocator::split(LifeTimeInterval &current, int beforePosition,
int lastUse = firstPosition;
int nextUse = -1;
const std::vector<Use> &usePositions = _info->uses(current.temp());
for (int i = 0, ei = usePositions.size(); i != ei; ++i) {
for (size_t i = 0, ei = usePositions.size(); i != ei; ++i) {
const Use &usePosition = usePositions.at(i);
const int usePos = usePosition.pos;
if (lastUse < usePos && usePos < beforePosition) {

View File

@ -493,17 +493,17 @@ void MemoryManager::runGC()
mark();
sweep();
} else {
int totalMem = getAllocatedMem();
const size_t totalMem = getAllocatedMem();
QTime t;
t.start();
mark();
int markTime = t.elapsed();
t.restart();
int usedBefore = getUsedMem();
const size_t usedBefore = getUsedMem();
int chunksBefore = m_d->heapChunks.size();
sweep();
int usedAfter = getUsedMem();
const size_t usedAfter = getUsedMem();
int sweepTime = t.elapsed();
qDebug() << "========== GC ==========";

View File

@ -57,7 +57,7 @@ uint RegExp::match(const QString &string, int start, uint *matchOffsets)
#if ENABLE(YARR_JIT)
if (!jitCode().isFallBack() && jitCode().has16BitCode())
return jitCode().execute(s.characters16(), start, s.length(), (int*)matchOffsets).start;
return uint(jitCode().execute(s.characters16(), start, s.length(), (int*)matchOffsets).start);
#endif
return JSC::Yarr::interpret(byteCode().get(), s.characters16(), string.length(), start, matchOffsets);

View File

@ -82,7 +82,7 @@ void UInt8ClampedArrayWrite(ExecutionEngine *e, char *data, int index, ValueRef
return;
}
if (d >= 255) {
data[index] = 255;
data[index] = (unsigned char)(255);
return;
}
double f = floor(d);