| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -11,7 +11,7 @@ | |||
| 11 | 11 | #define V8_MAJOR_VERSION 5 | |
| 12 | 12 | #define V8_MINOR_VERSION 9 | |
| 13 | 13 | #define V8_BUILD_NUMBER 211 | |
| 14 | - #define V8_PATCH_LEVEL 35 | ||
| 14 | + #define V8_PATCH_LEVEL 37 | ||
| 15 | 15 | ||
| 16 | 16 | // Use 1 for candidates and 0 otherwise. | |
| 17 | 17 | // (Boolean macro values are not supported by all preprocessors.) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -853,6 +853,13 @@ bool EscapeStatusAnalysis::CheckUsesForEscape(Node* uses, Node* rep, | |||
| 853 | 853 | case IrOpcode::kObjectIsString: | |
| 854 | 854 | case IrOpcode::kObjectIsSymbol: | |
| 855 | 855 | case IrOpcode::kObjectIsUndetectable: | |
| 856 | + case IrOpcode::kNumberLessThan: | ||
| 857 | + case IrOpcode::kNumberLessThanOrEqual: | ||
| 858 | + case IrOpcode::kNumberEqual: | ||
| 859 | + #define CASE(opcode) case IrOpcode::k##opcode: | ||
| 860 | + SIMPLIFIED_NUMBER_BINOP_LIST(CASE) | ||
| 861 | + SIMPLIFIED_NUMBER_UNOP_LIST(CASE) | ||
| 862 | + #undef CASE | ||
| 856 | 863 | if (SetEscaped(rep)) { | |
| 857 | 864 | TRACE("Setting #%d (%s) to escaped because of use by #%d (%s)\n", | |
| 858 | 865 | rep->id(), rep->op()->mnemonic(), use->id(), | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,27 @@ | |||
| 1 | + // Copyright 2017 the V8 project authors. All rights reserved. | ||
| 2 | + // Use of this source code is governed by a BSD-style license that can be | ||
| 3 | + // found in the LICENSE file. | ||
| 4 | + | ||
| 5 | + // Flags: --allow-natives-syntax --turbo-escape | ||
| 6 | + | ||
| 7 | + function foo() { | ||
| 8 | + var a = {x:1}; | ||
| 9 | + var b = {x:1.5, y: 1}; | ||
| 10 | + var x = 0; | ||
| 11 | + for (var i = 0; i < 1; i = {}) { | ||
| 12 | + // The second iteration of this loop is dead code, leading to a | ||
| 13 | + // contradiction between dynamic and static information. | ||
| 14 | + x += a.x + 0.5; | ||
| 15 | + x += a.x % 0.5; | ||
| 16 | + x += Math.abs(a.x); | ||
| 17 | + x += a.x < 6; | ||
| 18 | + x += a.x === 7; | ||
| 19 | + x += a.x <= 8; | ||
| 20 | + a = b; | ||
| 21 | + } | ||
| 22 | + return x; | ||
| 23 | + } | ||
| 24 | + foo(); | ||
| 25 | + foo(); | ||
| 26 | + %OptimizeFunctionOnNextCall(foo); | ||
| 27 | + foo(); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments