diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/webkit/PerformanceTests/ARES-6/Air/symbols.js | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/webkit/PerformanceTests/ARES-6/Air/symbols.js')
-rw-r--r-- | third_party/webkit/PerformanceTests/ARES-6/Air/symbols.js | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/ARES-6/Air/symbols.js b/third_party/webkit/PerformanceTests/ARES-6/Air/symbols.js new file mode 100644 index 0000000000..4ef7c63f73 --- /dev/null +++ b/third_party/webkit/PerformanceTests/ARES-6/Air/symbols.js @@ -0,0 +1,162 @@ +/* + * Copyright (C) 2016 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +"use strict"; + +// This file is for misc symbols. + +// B3 types +const Void = Symbol("Void"); +const Int32 = Symbol("Int32"); +const Int64 = Symbol("Int64"); +const Float = Symbol("Float"); +const Double = Symbol("Double"); + +// Arg type +const GP = Symbol("GP"); +const FP = Symbol("FP"); + +// Stack slot kind +const Locked = Symbol("Locked"); +const Spill = Symbol("Spill"); + +// Frequency class +const Normal = Symbol("Normal"); +const Rare = Symbol("Rare"); + +// Relational conditions +const Equal = Symbol("Equal"); +const NotEqual = Symbol("NotEqual"); +const Above = Symbol("Above"); +const AboveOrEqual = Symbol("AboveOrEqual"); +const Below = Symbol("Below"); +const BelowOrEqual = Symbol("BelowOrEqual"); +const GreaterThan = Symbol("GreaterThan"); +const GreaterThanOrEqual = Symbol("GreaterThanOrEqual"); +const LessThan = Symbol("LessThan"); +const LessThanOrEqual = Symbol("LessThanOrEqual"); + +function relCondCode(cond) +{ + switch (cond) { + case Equal: + return 4; + case NotEqual: + return 5; + case Above: + return 7; + case AboveOrEqual: + return 3; + case Below: + return 2; + case BelowOrEqual: + return 6; + case GreaterThan: + return 15; + case GreaterThanOrEqual: + return 13; + case LessThan: + return 12; + case LessThanOrEqual: + return 14; + default: + throw new Error("Bad rel cond"); + } +} + +// Result conditions +const Overflow = Symbol("Overflow"); +const Signed = Symbol("Signed"); +const PositiveOrZero = Symbol("PositiveOrZero"); +const Zero = Symbol("Zero"); +const NonZero = Symbol("NonZero"); + +function resCondCode(cond) +{ + switch (cond) { + case Overflow: + return 0; + case Signed: + return 8; + case PositiveOrZero: + return 9; + case Zero: + return 4; + case NonZero: + return 5; + default: + throw new Error("Bad res cond: " + cond.toString()); + } +} + +// Double conditions +const DoubleEqual = Symbol("DoubleEqual"); +const DoubleNotEqual = Symbol("DoubleNotEqual"); +const DoubleGreaterThan = Symbol("DoubleGreaterThan"); +const DoubleGreaterThanOrEqual = Symbol("DoubleGreaterThanOrEqual"); +const DoubleLessThan = Symbol("DoubleLessThan"); +const DoubleLessThanOrEqual = Symbol("DoubleLessThanOrEqual"); +const DoubleEqualOrUnordered = Symbol("DoubleEqualOrUnordered"); +const DoubleNotEqualOrUnordered = Symbol("DoubleNotEqualOrUnordered"); +const DoubleGreaterThanOrUnordered = Symbol("DoubleGreaterThanOrUnordered"); +const DoubleGreaterThanOrEqualOrUnordered = Symbol("DoubleGreaterThanOrEqualOrUnordered"); +const DoubleLessThanOrUnordered = Symbol("DoubleLessThanOrUnordered"); +const DoubleLessThanOrEqualOrUnordered = Symbol("DoubleLessThanOrEqualOrUnordered"); + +function doubleCondCode(cond) +{ + const bitInvert = 0x10; + const bitSpecial = 0x20; + switch (cond) { + case DoubleEqual: + return 4 | bitSpecial; + case DoubleNotEqual: + return 5; + case DoubleGreaterThan: + return 7; + case DoubleGreaterThanOrEqual: + return 3; + case DoubleLessThan: + return 7 | bitInvert; + case DoubleLessThanOrEqual: + return 3 | bitInvert; + case DoubleEqualOrUnordered: + return 4; + case DoubleNotEqualOrUnordered: + return 5 | bitSpecial; + case DoubleGreaterThanOrUnordered: + return 2 | bitInvert; + case DoubleGreaterThanOrEqualOrUnordered: + return 6 | bitInvert; + case DoubleLessThanOrUnordered: + return 2; + case DoubleLessThanOrEqualOrUnordered: + return 6; + default: + throw new Error("Bad cond"); + } +} + +// Define pointerType() +const Ptr = 64; |