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

Side by Side Diff: pkg/compiler/lib/src/cps_ir/builtin_operator.dart

Issue 1195573003: dart2js cps: Refactor and optimize string concatenations. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Revert doc comment change Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 library builtin_operator; 4 library builtin_operator;
5 // This is shared by the CPS and Tree IRs. 5 // This is shared by the CPS and Tree IRs.
6 // Both cps_ir_nodes and tree_ir_nodes import and re-export this file. 6 // Both cps_ir_nodes and tree_ir_nodes import and re-export this file.
7 7
8 /// An operator supported natively in the CPS and Tree IRs using the 8 /// An operator supported natively in the CPS and Tree IRs using the
9 /// `ApplyBuiltinOperator` instructions. 9 /// `ApplyBuiltinOperator` instructions.
10 /// 10 ///
(...skipping 19 matching lines...) Expand all
30 NumSubtract, 30 NumSubtract,
31 NumMultiply, 31 NumMultiply,
32 NumAnd, 32 NumAnd,
33 NumOr, 33 NumOr,
34 NumXor, 34 NumXor,
35 NumLt, 35 NumLt,
36 NumLe, 36 NumLe,
37 NumGt, 37 NumGt,
38 NumGe, 38 NumGe,
39 39
40 /// Concatenates any number of strings.
41 ///
42 /// Takes any number of arguments, and each argument must be a string.
43 ///
44 /// Returns the empty string if no arguments are given.
45 StringConcatenate,
46
40 /// Returns true if the two arguments are the same value, and that value is 47 /// Returns true if the two arguments are the same value, and that value is
41 /// not NaN, or if one argument is +0 and the other is -0. 48 /// not NaN, or if one argument is +0 and the other is -0.
42 /// 49 ///
43 /// At most one of the arguments may be null. 50 /// At most one of the arguments may be null.
44 StrictEq, 51 StrictEq,
45 52
46 /// Negated version of [StrictEq]. Introduced by [LogicalRewriter] in Tree IR. 53 /// Negated version of [StrictEq]. Introduced by [LogicalRewriter] in Tree IR.
47 StrictNeq, 54 StrictNeq,
48 55
49 /// Returns true if the two arguments are both null or are the same string, 56 /// Returns true if the two arguments are both null or are the same string,
(...skipping 30 matching lines...) Expand all
80 /// Compiles to `Math.floor(x) === x` 87 /// Compiles to `Math.floor(x) === x`
81 IsFloor, 88 IsFloor,
82 89
83 /// Returns true if the argument is an integer. 90 /// Returns true if the argument is an integer.
84 /// 91 ///
85 /// The argument must be repeated 3 times. 92 /// The argument must be repeated 3 times.
86 /// 93 ///
87 /// Compiles to `typeof x === 'number' && Math.floor(x) === x` 94 /// Compiles to `typeof x === 'number' && Math.floor(x) === x`
88 IsNumberAndFloor, 95 IsNumberAndFloor,
89 } 96 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/constants/expressions.dart ('k') | pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698