Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(530)

Unified Diff: sdk/lib/_internal/compiler/implementation/lib/math_patch.dart

Issue 13947004: dart2js: Allow 'throw' when inlining (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/compiler/implementation/lib/math_patch.dart
diff --git a/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart b/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart
index 3bccb2cf51356966a4dd8df3a3f2a96520199f63..dbac0f2401e986d08438563d5b4b48a380c79b45 100644
--- a/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart
+++ b/sdk/lib/_internal/compiler/implementation/lib/math_patch.dart
@@ -5,35 +5,56 @@
// Patch file for dart:math library.
import 'dart:_foreign_helper' show JS;
-patch double sqrt(num x)
- => JS('double', r'Math.sqrt(#)', checkNum(x));
+patch double sqrt(num x) {
ngeoffray 2013/04/10 12:06:39 Why do you need to change these?
erikcorry 2013/04/10 12:52:32 In this form the checkNum disappears completely wh
ngeoffray 2013/04/10 13:02:58 Do you know why not in the other form?
erikcorry 2013/04/11 09:09:35 Actually with the current version of the inlining
+ checkNum(x);
+ return JS('double', r'Math.sqrt(#)', x);
+}
-patch double sin(num x)
- => JS('double', r'Math.sin(#)', checkNum(x));
+patch double sin(num x) {
+ checkNum(x);
+ return JS('double', r'Math.sin(#)', x);
+}
-patch double cos(num x)
- => JS('double', r'Math.cos(#)', checkNum(x));
+patch double cos(num x) {
+ checkNum(x);
+ return JS('double', r'Math.cos(#)', x);
+}
-patch double tan(num x)
- => JS('double', r'Math.tan(#)', checkNum(x));
+patch double tan(num x) {
+ checkNum(x);
+ return JS('double', r'Math.tan(#)', x);
+}
-patch double acos(num x)
- => JS('double', r'Math.acos(#)', checkNum(x));
+patch double acos(num x) {
+ checkNum(x);
+ return JS('double', r'Math.acos(#)', x);
+}
-patch double asin(num x)
- => JS('double', r'Math.asin(#)', checkNum(x));
+patch double asin(num x) {
+ checkNum(x);
+ return JS('double', r'Math.asin(#)', x);
+}
-patch double atan(num x)
- => JS('double', r'Math.atan(#)', checkNum(x));
+patch double atan(num x) {
+ checkNum(x);
+ return JS('double', r'Math.atan(#)', x);
+}
-patch double atan2(num a, num b)
- => JS('double', r'Math.atan2(#, #)', checkNum(a), checkNum(b));
+patch double atan2(num a, num b) {
+ checkNum(a);
+ checkNum(b);
+ return JS('double', r'Math.atan2(#, #)', a, b);
+}
-patch double exp(num x)
- => JS('double', r'Math.exp(#)', checkNum(x));
+patch double exp(num x) {
+ checkNum(x);
+ return JS('double', r'Math.exp(#)', x);
+}
-patch double log(num x)
- => JS('double', r'Math.log(#)', checkNum(x));
+patch double log(num x) {
+ checkNum(x);
+ return JS('double', r'Math.log(#)', x);
+}
patch num pow(num x, num exponent) {
checkNum(x);

Powered by Google App Engine
This is Rietveld 408576698