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 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 | 364 |
365 assertUnreachable = function assertUnreachable(name_opt) { | 365 assertUnreachable = function assertUnreachable(name_opt) { |
366 // Fix this when we ditch the old test runner. | 366 // Fix this when we ditch the old test runner. |
367 var message = "Fail" + "ure: unreachable"; | 367 var message = "Fail" + "ure: unreachable"; |
368 if (name_opt) { | 368 if (name_opt) { |
369 message += " - " + name_opt; | 369 message += " - " + name_opt; |
370 } | 370 } |
371 throw new MjsUnitAssertionError(message); | 371 throw new MjsUnitAssertionError(message); |
372 }; | 372 }; |
373 | 373 |
374 | 374 var OptimizationStatus = function(fun, sync_opt) { |
375 var OptimizationStatus; | 375 try { |
376 try { | 376 return eval("%GetOptimizationStatus(fun, sync_opt);"); |
377 OptimizationStatus = | 377 } catch (e) { |
378 new Function("fun", "sync", "return %GetOptimizationStatus(fun, sync);"); | |
379 } catch (e) { | |
380 OptimizationStatus = function() { | |
381 throw new Error("natives syntax not allowed"); | 378 throw new Error("natives syntax not allowed"); |
382 } | 379 } |
383 } | 380 } |
384 | 381 |
385 assertUnoptimized = function assertUnoptimized(fun, sync_opt, name_opt) { | 382 assertUnoptimized = function assertUnoptimized(fun, sync_opt, name_opt) { |
386 if (sync_opt === undefined) sync_opt = ""; | 383 if (sync_opt === undefined) sync_opt = ""; |
387 assertTrue(OptimizationStatus(fun, sync_opt) != 1, name_opt); | 384 assertTrue(OptimizationStatus(fun, sync_opt) != 1, name_opt); |
388 } | 385 } |
389 | 386 |
390 assertOptimized = function assertOptimized(fun, sync_opt, name_opt) { | 387 assertOptimized = function assertOptimized(fun, sync_opt, name_opt) { |
391 if (sync_opt === undefined) sync_opt = ""; | 388 if (sync_opt === undefined) sync_opt = ""; |
392 assertTrue(OptimizationStatus(fun, sync_opt) != 2, name_opt); | 389 assertTrue(OptimizationStatus(fun, sync_opt) != 2, name_opt); |
393 } | 390 } |
394 | 391 |
395 })(); | 392 })(); |
OLD | NEW |