- 25 Jul, 2016 23 commits
-
-
mvstanton authored
After multiplying two integers we emit code like: if (result == 0) { if (OR_OPERATION(rhs, lhs) < 0) { DEOPT; } } This CL allows us to eliminate the OR and comparison if either rhs or lhs is a negative number, reducing the code to: if (result == 0) DEOPT; BUG= Review-Url: https://codereview.chromium.org/2167643002 Cr-Commit-Position: refs/heads/master@{#38016}
-
bmeurer authored
Turn the LoadElimination into a proper graph Reducer so that it can run together with ValueNumbering and RedundancyElimination to a fixpoint for maximum load/check elimination. This also adds initial support for eliminating redundant LoadElement/StoreElement nodes. BUG=v8:4930,v8:5141 Review-Url: https://codereview.chromium.org/2164253002 Cr-Commit-Position: refs/heads/master@{#38015}
-
mvstanton authored
BUG=chromium:630952 Review-Url: https://codereview.chromium.org/2177193002 Cr-Commit-Position: refs/heads/master@{#38014}
-
ivica.bogosavljevic authored
Fix failure in mjsunit/regress/regress-5213. When bailout happens, the double registers are not properly loaded if exponent_type() is INTEGER (this happens in optimized version of code only). BUG=mjsunit/regress/regress-5213 Review-Url: https://codereview.chromium.org/2175633003 Cr-Commit-Position: refs/heads/master@{#38013}
-
yangguo authored
BUG=v8:5197 Review-Url: https://codereview.chromium.org/2168273004 Cr-Commit-Position: refs/heads/master@{#38012}
-
machenbach authored
BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2182443002 Cr-Commit-Position: refs/heads/master@{#38011}
-
rmcilroy authored
Move the logic for allocating the global declaration pair array from VisitDeclarations to a later step. This is required for concurrent bytecode generation. This change requires adding support for reserving fixed constant pool array entries, which can be later updated with the value of the literal. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2167763003 Cr-Commit-Position: refs/heads/master@{#38010}
-
jochen authored
R=ishell@chromium.org,bmeurer@chromium.org TBR=rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2175233003 Cr-Commit-Position: refs/heads/master@{#38009}
-
bmeurer authored
Introducing machine operators early causes trouble for the typing, truncation analysis and representation selection, so we should rather stick to simplified operators instead. Now there's only the for-in case left, which is not clear how we can handle this in a better way. Drive-by-fix: Also don't introduce Int32Constant and Word32Shl in JSTypedLowering, but use NumberConstant and proper NumberShiftLeft operators instead. R=jarin@chromium.org BUG=chromium:630951 Review-Url: https://codereview.chromium.org/2182453002 Cr-Commit-Position: refs/heads/master@{#38008}
-
jochen authored
R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2173403002 Cr-Commit-Position: refs/heads/master@{#38007}
-
yangguo authored
Revert of [heap] Remove black pages and use black areas instead. (patchset #6 id:100001 of https://codereview.chromium.org/2160613002/ ) Reason for revert: Suspected to cause crbug.com/630969 Original issue's description: > [heap] Remove black pages and use black areas instead. > > BUG=630386 > LOG=n > > Committed: https://crrev.com/b008a0d5a3db80a854cb93d9c94d67bf2d780f2c > Cr-Commit-Position: refs/heads/master@{#37967} TBR=ulan@chromium.org,hpayer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=630386 Review-Url: https://codereview.chromium.org/2176133002 Cr-Commit-Position: refs/heads/master@{#38006}
-
yangguo authored
TBR=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2177183002 Cr-Commit-Position: refs/heads/master@{#38005}
-
bgeron authored
BUG= R=danno Review-Url: https://codereview.chromium.org/2169023002 Cr-Commit-Position: refs/heads/master@{#38004}
-
bgeron authored
- Remove duplicated CSS. - Expand landing area of upload button. - Give the toolbox a transparent white background. - Make the phase-select box look nicer before file load. - Remove the margin at the top of the screen. The height of the margin was exactly the height of span#graph-toolbox, and due to the semantics of position:relative, space was reserved for it at the top of div#middle. BUG= R=danno Review-Url: https://codereview.chromium.org/2164373002 Cr-Commit-Position: refs/heads/master@{#38003}
-
rmcilroy authored
Always use the BytecodeGraphBuilder when the --turbo-from-bytecode is enabled, assuming the function should be compiled for Ignition. Adds a new MaybeOptimizeIgnition function to runtime-profiler which is called if the function should be optimized from bytecode rather than going via full-codegen. BUG=v8:4280 Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4 Review-Url: https://codereview.chromium.org/2156753002 Cr-Original-Commit-Position: refs/heads/master@{#37921} Cr-Commit-Position: refs/heads/master@{#38002}
-
ivica.bogosavljevic authored
Skip test-run-load-store/RunUnalignedLoadStoreUnalignedAccess on ARM until UnalignedLoad and UnalignedStore operators get implemented NOTRY=true Review-Url: https://codereview.chromium.org/2182433002 Cr-Commit-Position: refs/heads/master@{#38001}
-
machenbach authored
BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2171263002 Cr-Commit-Position: refs/heads/master@{#38000}
-
dpranke authored
The third attempt never landed :). This attempt completely reworks the logic to attempt to be clearer and more obviously correct. This attempt also actually had unit tests written for it (see bug 625353). R=machenbach@chromium.org BUG=625353, 629825 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_compile_x86_dbg,android_compile_mips_dbg,android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2173343002 Cr-Commit-Position: refs/heads/master@{#37999}
-
nikolaos authored
This patch parametrizes AstTraversalVisitor by the actual subclass, in a similar way as AstVisitor is parametrized. This allows a subclass to, e.g., override the Visit method and still use the traversal mechanism. It also allows the subclass to override the specific visiting methods, without them being virtual. This patch also removes AstExpressionVisitor, subsuming its functionality in AstTraversalVisitor. R=adamk@chromium.org, verwaest@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2169833002 Cr-Commit-Position: refs/heads/master@{#37998}
-
jochen authored
Exception throwing will allocate R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2173423002 Cr-Commit-Position: refs/heads/master@{#37997}
-
yangguo authored
R=littledan@chromium.org BUG=chromium:630559 Review-Url: https://codereview.chromium.org/2176613002 Cr-Commit-Position: refs/heads/master@{#37996}
-
bmeurer authored
The dead code elimination in SimplifiedLowering can eliminate pure nodes if they don't have value uses. But some of those can indeed have control inputs, i.e. Phi nodes do of course have a control input. R=jarin@chromium.org BUG=chromium:630923 Review-Url: https://codereview.chromium.org/2177133002 Cr-Commit-Position: refs/heads/master@{#37995}
-
jarin authored
BUG=chromium:630611 Review-Url: https://codereview.chromium.org/2177483002 Cr-Commit-Position: refs/heads/master@{#37994}
-
- 23 Jul, 2016 3 commits
-
-
cbruni authored
In PrependElementIndicesImpl we sort a FixedArray of indices potentially containing HeapNumbers. During the string conversion we might trigger a GC. This in turn might try to read a slot where we previously had a HeapNumber but the sort sneaked a SMI in there which is not a valid pointer. BUG=chromium:630561 Review-Url: https://codereview.chromium.org/2173653003 Cr-Commit-Position: refs/heads/master@{#37993}
-
v8-autoroll authored
Rolling v8/build to 2c67d4d74b6b3673228fab191918500a582ef3b0 Rolling v8/third_party/android_tools to e4d61eb8f463e6cb8d1e1269a15c22f7c9bbd122 Rolling v8/tools/clang to 496622ab4aaa5be7e5a9b80617013cb02f45dc87 Rolling v8/tools/mb to 0c4dc43c454f26936ddf3074ab8e9a41e3dc03a3 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2173293002 Cr-Commit-Position: refs/heads/master@{#37992}
-
bjaideep authored
Port ba092fb0 Original commit message: So far we don't have a useful way to inline Math.max or Math.min in TurboFan optimized code. This adds new operators NumberMax and NumberMin and changes the Float64Max/Float64Min operators to have JavaScript semantics instead of the C++ semantics that it had previously. This also removes support for recognizing the tenary case in the CommonOperatorReducer, since that doesn't seem to have any positive impact (and actually doesn't show up in regular JavaScript, where people use Math.max/Math.min instead). Drive-by-fix: Also nuke the unused Float32Max/Float32Min operators. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2179503003 Cr-Commit-Position: refs/heads/master@{#37991}
-
- 22 Jul, 2016 14 commits
-
-
adamk authored
The uses_arguments() bool is not needed for correct behavior, since that same information is available after scope analysis based on whether we allocated the Scope::arguments_ var. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2168293002 Cr-Commit-Position: refs/heads/master@{#37990}
-
adamk authored
This replaces the AstVisitor approach for scope rewriting with a Scope-only solution, using a new Scope::Snapshot object that keeps track of inner scopes, unresolved variables, and temps. The only use of the AstVisitor is now for parameter varblock scopes introduced due to sloppy eval in parameters, which greatly simplifies the rewriter as it no longer needs to handle temps. A future CL may be able to eliminate it altogether by taking a snapshot per function argument. Based on verwaest's https://codereview.chromium.org/2166023002/. BUG=v8:5226 Review-Url: https://codereview.chromium.org/2171703004 Cr-Commit-Position: refs/heads/master@{#37989}
-
ivica.bogosavljevic authored
Implement UnalignedLoad and UnalignedStore optional turbofan operators and use them in WasmCompiler for unaligned memory access. BUG= Review-Url: https://codereview.chromium.org/2122853002 Cr-Commit-Position: refs/heads/master@{#37988}
-
caitp authored
BUG=v8:5134 R=cbruni@chromium.org, littledan@chromium.org, neis@chromium.org Review-Url: https://codereview.chromium.org/2131383002 Cr-Commit-Position: refs/heads/master@{#37987}
-
mark authored
This reverts commit 31388627. BUG=chromium:630629 Review-Url: https://codereview.chromium.org/2171373002 Cr-Commit-Position: refs/heads/master@{#37986}
-
littledan authored
TC-39 recently decided to remove the Python-based testing harness from the Test262 project [1]. The code has been duplicated in a standalone project; update V8's dependencies to fetch from that new location. This is based on an earlier patch by Mike Pennisi. [1] https://github.com/tc39/tc39-notes/blob/2b9722db9b90011d6083a5f1c8ff1559cbe01c0b/es7/2016-05/may-25.md BUG=v8:5078 Review-Url: https://codereview.chromium.org/2131743002 Cr-Commit-Position: refs/heads/master@{#37985}
-
vogelheim authored
Revert of Re-land "Fix double-building of v8 in GN builds" (patchset #2 id:20001 of https://codereview.chromium.org/2171083003/ ) Reason for revert: Reverted, because it breaks some funky android build. Can reproduce breakage locally, w/ args.gn as follows: disable_brotli_filter = true disable_file_support = true disable_ftp_support = true enable_websockets = false ffmpeg_branding = "Chrome" is_component_build = false is_debug = true proprietary_codecs = true symbol_level = 1 target_cpu = "x86" target_os = "android" use_goma = true use_platform_icu_alternatives = true This ends up building the mkpeephole tool w/ an architecture that won't run on the build machine. Original issue's description: > Re-land "Fix double-building of v8 in GN builds" > > This re-lands r37926 w/ the needed fix for cross-compiles; we > can only re-use the default toolchain when the host can actually > run it. > > R=machenbach@chromium.org > BUG=629825 > > Committed: https://crrev.com/5b762044b53f988fa9a534fe1a84f9938b3abd75 > Cr-Commit-Position: refs/heads/master@{#37970} TBR=machenbach@chromium.org,dpranke@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=629825 Review-Url: https://codereview.chromium.org/2175693003 Cr-Commit-Position: refs/heads/master@{#37984}
-
ishell authored
BUG=chromium:619016 Review-Url: https://codereview.chromium.org/2139373002 Cr-Commit-Position: refs/heads/master@{#37983}
-
jochen authored
TBR=machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2174613003 Cr-Commit-Position: refs/heads/master@{#37982}
-
cbruni authored
BUG= Review-Url: https://codereview.chromium.org/2163823004 Cr-Commit-Position: refs/heads/master@{#37981}
-
jochen authored
Next step will be to add methods for parsing and then compiling. BUG=v8:5215 R=marja@chromium.org Review-Url: https://codereview.chromium.org/2171323002 Cr-Commit-Position: refs/heads/master@{#37980}
-
jochen authored
BUG= R=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2171313002 Cr-Commit-Position: refs/heads/master@{#37979}
-
jgruber authored
BUG=v8:5216 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2175603003 Cr-Commit-Position: refs/heads/master@{#37978}
-
yangguo authored
This is not in use yet, but will be soon. R=jochen@chromium.org, machenbach@chromium.org BUG=chromium:580337 Review-Url: https://codereview.chromium.org/2175653002 Cr-Commit-Position: refs/heads/master@{#37977}
-