diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/webkit/PerformanceTests/ARES-6/Air/tmp.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/ARES-6/Air/tmp.js b/third_party/webkit/PerformanceTests/ARES-6/Air/tmp.js new file mode 100644 index 0000000000..997219ab7c --- /dev/null +++ b/third_party/webkit/PerformanceTests/ARES-6/Air/tmp.js @@ -0,0 +1,66 @@ +/* + * 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"; + +class Tmp extends TmpBase { + constructor(index, type) + { + super(); + this._index = index; + this._type = type; + } + + static fromReg(reg) + { + return reg; + } + + get index() { return this._index; } + get type() { return this._type; } + + get isReg() { return false; } + + hash() + { + if (isGP) + return Reg.gprs[Reg.gprs.length - 1].hash() + 1 + this._index; + return Reg.fprs[Reg.fprs.length - 1].hash() - 1 - this._index; + } + + toString() + { + return "%" + (this.isGP ? "" : "f") + "tmp" + this._index; + } + + static extract(arg) + { + if (arg.isTmp) + return arg.tmp; + return null; + } + + static forEachFast(arg, func) { return arg.forEachTmpFast(func); } + static forEach(arg, role, type, width, func) { return arg.forEachTmp(role, type, width, func); } +} |