| OLD | NEW |
| 1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 | 142 |
| 143 // Returns true if given function is optimized. | 143 // Returns true if given function is optimized. |
| 144 var isOptimized; | 144 var isOptimized; |
| 145 | 145 |
| 146 // Returns true if given function is compiled by Crankshaft. | 146 // Returns true if given function is compiled by Crankshaft. |
| 147 var isCrankshafted; | 147 var isCrankshafted; |
| 148 | 148 |
| 149 // Returns true if given function is compiled by TurboFan. | 149 // Returns true if given function is compiled by TurboFan. |
| 150 var isTurboFanned; | 150 var isTurboFanned; |
| 151 | 151 |
| 152 // Monkey-patchable all-purpose failure handler. |
| 153 var failWithMessage; |
| 154 |
| 152 | 155 |
| 153 (function () { // Scope for utility functions. | 156 (function () { // Scope for utility functions. |
| 154 | 157 |
| 155 var ObjectPrototypeToString = Object.prototype.toString; | 158 var ObjectPrototypeToString = Object.prototype.toString; |
| 156 var NumberPrototypeValueOf = Number.prototype.valueOf; | 159 var NumberPrototypeValueOf = Number.prototype.valueOf; |
| 157 var BooleanPrototypeValueOf = Boolean.prototype.valueOf; | 160 var BooleanPrototypeValueOf = Boolean.prototype.valueOf; |
| 158 var StringPrototypeValueOf = String.prototype.valueOf; | 161 var StringPrototypeValueOf = String.prototype.valueOf; |
| 159 var DatePrototypeValueOf = Date.prototype.valueOf; | 162 var DatePrototypeValueOf = Date.prototype.valueOf; |
| 160 var RegExpPrototypeToString = RegExp.prototype.toString; | 163 var RegExpPrototypeToString = RegExp.prototype.toString; |
| 161 var ArrayPrototypeMap = Array.prototype.map; | 164 var ArrayPrototypeMap = Array.prototype.map; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 } | 229 } |
| 227 } | 230 } |
| 228 | 231 |
| 229 | 232 |
| 230 function PrettyPrintArrayElement(value, index, array) { | 233 function PrettyPrintArrayElement(value, index, array) { |
| 231 if (value === undefined && !(index in array)) return ""; | 234 if (value === undefined && !(index in array)) return ""; |
| 232 return PrettyPrint(value); | 235 return PrettyPrint(value); |
| 233 } | 236 } |
| 234 | 237 |
| 235 | 238 |
| 236 function failWithMessage(message) { | 239 failWithMessage = function failWithMessage(message) { |
| 240 print("oh, we failed: " + message); |
| 237 throw new MjsUnitAssertionError(message); | 241 throw new MjsUnitAssertionError(message); |
| 238 } | 242 } |
| 239 | 243 |
| 240 | 244 |
| 241 function fail(expectedText, found, name_opt) { | 245 function fail(expectedText, found, name_opt) { |
| 242 var message = "Fail" + "ure"; | 246 var message = "Fail" + "ure"; |
| 243 if (name_opt) { | 247 if (name_opt) { |
| 244 // Fix this when we ditch the old test runner. | 248 // Fix this when we ditch the old test runner. |
| 245 message += " (" + name_opt + ")"; | 249 message += " (" + name_opt + ")"; |
| 246 } | 250 } |
| 247 | 251 |
| 248 var foundText = PrettyPrint(found); | 252 var foundText = PrettyPrint(found); |
| 249 if (expectedText.length <= 40 && foundText.length <= 40) { | 253 if (expectedText.length <= 40 && foundText.length <= 40) { |
| 250 message += ": expected <" + expectedText + "> found <" + foundText + ">"; | 254 message += ": expected <" + expectedText + "> found <" + foundText + ">"; |
| 251 } else { | 255 } else { |
| 252 message += ":\nexpected:\n" + expectedText + "\nfound:\n" + foundText; | 256 message += ":\nexpected:\n" + expectedText + "\nfound:\n" + foundText; |
| 253 } | 257 } |
| 254 throw new MjsUnitAssertionError(message); | 258 return failWithMessage(message); |
| 255 } | 259 } |
| 256 | 260 |
| 257 | 261 |
| 258 function deepObjectEquals(a, b) { | 262 function deepObjectEquals(a, b) { |
| 259 var aProps = Object.keys(a); | 263 var aProps = Object.keys(a); |
| 260 aProps.sort(); | 264 aProps.sort(); |
| 261 var bProps = Object.keys(b); | 265 var bProps = Object.keys(b); |
| 262 bProps.sort(); | 266 bProps.sort(); |
| 263 if (!deepEquals(aProps, bProps)) { | 267 if (!deepEquals(aProps, bProps)) { |
| 264 return false; | 268 return false; |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 558 | 562 |
| 559 isTurboFanned = function isTurboFanned(fun) { | 563 isTurboFanned = function isTurboFanned(fun) { |
| 560 var opt_status = OptimizationStatus(fun, ""); | 564 var opt_status = OptimizationStatus(fun, ""); |
| 561 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, | 565 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, |
| 562 "not a function"); | 566 "not a function"); |
| 563 return (opt_status & V8OptimizationStatus.kOptimized) !== 0 && | 567 return (opt_status & V8OptimizationStatus.kOptimized) !== 0 && |
| 564 (opt_status & V8OptimizationStatus.kTurboFanned) !== 0; | 568 (opt_status & V8OptimizationStatus.kTurboFanned) !== 0; |
| 565 } | 569 } |
| 566 | 570 |
| 567 })(); | 571 })(); |
| OLD | NEW |