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

Unified Diff: sdk/lib/_internal/compiler/implementation/ssa/nodes.dart

Issue 82953002: Inline the fixed array constructor manually in the SSA builder. Also track whether a fixed array ev… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 1 month 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/ssa/nodes.dart
===================================================================
--- sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (revision 30542)
+++ sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (working copy)
@@ -1571,6 +1571,7 @@
class HForeign extends HInstruction {
final js.Node codeAst;
final bool isStatement;
+ final bool _canThrow;
final native.NativeBehavior nativeBehavior;
HForeign(this.codeAst,
@@ -1578,8 +1579,11 @@
List<HInstruction> inputs,
{this.isStatement: false,
SideEffects effects,
- native.NativeBehavior nativeBehavior})
- : this.nativeBehavior = nativeBehavior, super(inputs, type) {
+ native.NativeBehavior nativeBehavior,
+ canThrow: false})
+ : this.nativeBehavior = nativeBehavior,
+ this._canThrow = canThrow,
+ super(inputs, type) {
if (effects == null && nativeBehavior != null) {
effects = nativeBehavior.sideEffects;
}
@@ -1597,7 +1601,9 @@
bool isJsStatement() => isStatement;
bool canThrow() {
- return sideEffects.hasSideEffects() || sideEffects.dependsOnSomething();
+ return _canThrow
+ || sideEffects.hasSideEffects()
+ || sideEffects.dependsOnSomething();
}
}

Powered by Google App Engine
This is Rietveld 408576698