Files
sdk/tests/language/try_catch_optimized3_test.dart
T
fschneider@google.com 941ffb9a52 Enable OSR optimization for functions with try-catch.
This is working. I added and extended tests to cover the
different cases  where OSR can occur (inside/outside try/catch)

BUG=dartbug.com/16313,dartbug.com/17442
R=srdjan@google.com

Review URL: https://codereview.chromium.org//335793003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37441 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-18 09:16:25 +00:00

30 lines
701 B
Dart

// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// VMOptions=--optimization-counter-threshold=10
import "package:expect/expect.dart";
// Test unboxed double operations inside try-catch.
foo(bool b) {
if (b) throw 123;
}
test_double(double x, bool b) {
try {
x += 1.0;
foo(b);
} catch (e) {
var result = x - 1.0;
Expect.equals(1.0, result);
return result;
}
}
main() {
for (var i = 0; i < 100; i++) test_double(1.0, false);
test_double(1.0, false);
Expect.equals(1.0, test_double(1.0, true));
}