Changeset 249370 in webkit


Ignore:
Timestamp:
Sep 1, 2019 4:35:51 PM (5 years ago)
Author:
ysuzuki@apple.com
Message:

[JSC] Fix testb3 debug failures
https://bugs.webkit.org/show_bug.cgi?id=201382

Reviewed by Mark Lam.

Fix testb3 debug failures due to incorrect types of operations like pointer + int32.

  • b3/testb3_8.cpp:

(testByteCopyLoop):
(testByteCopyLoopStartIsLoopDependent):
(testByteCopyLoopBoundIsLoopDependent):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r249365 r249370  
     12019-09-01  Yusuke Suzuki  <ysuzuki@apple.com>
     2
     3        [JSC] Fix testb3 debug failures
     4        https://bugs.webkit.org/show_bug.cgi?id=201382
     5
     6        Reviewed by Mark Lam.
     7
     8        Fix testb3 debug failures due to incorrect types of operations like pointer + int32.
     9
     10        * b3/testb3_8.cpp:
     11        (testByteCopyLoop):
     12        (testByteCopyLoopStartIsLoopDependent):
     13        (testByteCopyLoopBoundIsLoopDependent):
     14
    1152019-09-01  Mark Lam  <mark.lam@apple.com>
    216
  • trunk/Source/JavaScriptCore/b3/testb3_8.cpp

    r248938 r249370  
    938938    auto* arraySrc = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0);
    939939    auto* arrayDst = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR1);
    940     auto* arraySize = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR2);
     940    auto* arraySize = root->appendNew<Value>(proc, Trunc, Origin(), root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR2));
    941941    auto* one = root->appendNew<Const32Value>(proc, Origin(), 1);
    942942    auto* two = root->appendNew<Const32Value>(proc, Origin(), 2);
     
    947947    auto* index = head->appendNew<Value>(proc, Phi, Int32, Origin());
    948948    startingIndex->setPhi(index);
    949     auto* loadIndex = head->appendNew<Value>(proc, Add, Origin(), arraySrc, head->appendNew<Value>(proc, Shl, Origin(), index, two));
    950     auto* storeIndex = head->appendNew<Value>(proc, Add, Origin(), arrayDst, head->appendNew<Value>(proc, Shl, Origin(), index, two));
     949    auto* loadIndex = head->appendNew<Value>(proc, Add, Origin(), arraySrc,
     950        head->appendNew<Value>(proc, ZExt32, Origin(), head->appendNew<Value>(proc, Shl, Origin(), index, two)));
     951    auto* storeIndex = head->appendNew<Value>(proc, Add, Origin(), arrayDst,
     952        head->appendNew<Value>(proc, ZExt32, Origin(), head->appendNew<Value>(proc, Shl, Origin(), index, two)));
    951953    head->appendNew<MemoryValue>(proc, Store, Origin(), head->appendNew<MemoryValue>(proc, Load, Int32, Origin(), loadIndex), storeIndex);
    952954    auto* newIndex = head->appendNew<Value>(proc, Add, Origin(), index, one);
     
    992994    auto* arraySrc = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0);
    993995    auto* arrayDst = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR1);
    994     auto* arraySize = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR2);
     996    auto* arraySize = root->appendNew<Value>(proc, Trunc, Origin(), root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR2));
    995997    auto* one = root->appendNew<Const32Value>(proc, Origin(), 1);
    996998    auto* two = root->appendNew<Const32Value>(proc, Origin(), 2);
     
    10011003    auto* index = head->appendNew<Value>(proc, Phi, Int32, Origin());
    10021004    startingIndex->setPhi(index);
    1003     auto* loadIndex = head->appendNew<Value>(proc, Add, Origin(), arraySrc, head->appendNew<Value>(proc, Shl, Origin(), index, two));
    1004     auto* storeIndex = head->appendNew<Value>(proc, Add, Origin(), arrayDst, head->appendNew<Value>(proc, Shl, Origin(), index, two));
     1005    auto* loadIndex = head->appendNew<Value>(proc, Add, Origin(), arraySrc,
     1006        head->appendNew<Value>(proc, ZExt32, Origin(), head->appendNew<Value>(proc, Shl, Origin(), index, two)));
     1007    auto* storeIndex = head->appendNew<Value>(proc, Add, Origin(), arrayDst,
     1008        head->appendNew<Value>(proc, ZExt32, Origin(), head->appendNew<Value>(proc, Shl, Origin(), index, two)));
    10051009    head->appendNew<MemoryValue>(proc, Store, Origin(), head->appendNew<MemoryValue>(proc, Load, Int32, Origin(), loadIndex), storeIndex);
    10061010    auto* newIndex = head->appendNew<Value>(proc, Add, Origin(), index, one);
     
    10541058    auto* index = head->appendNew<Value>(proc, Phi, Int32, Origin());
    10551059    startingIndex->setPhi(index);
    1056     auto* loadIndex = head->appendNew<Value>(proc, Add, Origin(), arraySrc, head->appendNew<Value>(proc, Shl, Origin(), index, two));
    1057     auto* storeIndex = head->appendNew<Value>(proc, Add, Origin(), arrayDst, head->appendNew<Value>(proc, Shl, Origin(), index, two));
     1060    auto* loadIndex = head->appendNew<Value>(proc, Add, Origin(), arraySrc,
     1061        head->appendNew<Value>(proc, ZExt32, Origin(), head->appendNew<Value>(proc, Shl, Origin(), index, two)));
     1062    auto* storeIndex = head->appendNew<Value>(proc, Add, Origin(), arrayDst,
     1063        head->appendNew<Value>(proc, ZExt32, Origin(), head->appendNew<Value>(proc, Shl, Origin(), index, two)));
    10581064    head->appendNew<MemoryValue>(proc, Store, Origin(), head->appendNew<MemoryValue>(proc, Load, Int32, Origin(), loadIndex), storeIndex);
    10591065    auto* newIndex = head->appendNew<Value>(proc, Add, Origin(), index, one);
Note: See TracChangeset for help on using the changeset viewer.