- 27 Jul, 2017 1 commit
-
-
Karl Schimpf authored
Check for these UMA stats were in functions only used for testing. Moved the checks to code inside module decoding. Note that the module decoder is used both to validate and generate the intermediate (turbofan) graph of function bodies. This CL assumes that the validation phase (of function bodies) is the correct place to track decoding time. Bug: v8:6361 Change-Id: I791281daae96473d53cb8ae332fff8bb2673bf6c Reviewed-on: https://chromium-review.googlesource.com/586974 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#46915}
-
- 26 Jul, 2017 28 commits
-
-
Jaideep Bajwa authored
Port fe046627 Port d594a6d9 Port 53553f5d R=mslekova@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2c160f8e3a1c3a809de6a6631864104ed95900d7 Reviewed-on: https://chromium-review.googlesource.com/587610Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46914}
-
Alexei Filippov authored
The global objects lookup code mistakingly reports weakly referenced JSGlobalObject's as normal one. It should not. The fix just adds is_weak check into V8HeapExplorer::SetGcSubrootReference the rest is formatting. Bug: chromium:747382 Change-Id: I3fc62317dd3d8728d261f27bd58654aff13eb6fe Reviewed-on: https://chromium-review.googlesource.com/585385Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#46913}
-
Jaideep Bajwa authored
Port 7f50476b Port 1769f892 Original Commit Message: - Add more conformance tests for proxy call and calling undetectable - This improves the performance of calling a proxy by ~5x R=mslekova@google.com, adamk@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If5e66093aee815225053c1d3d2a99cfac270aea4 Reviewed-on: https://chromium-review.googlesource.com/587228Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46912}
-
Georg Neis authored
Internally, the module status type has one additional value, namely PreInstantiating. I previously mapped this to Instantiating when crossing the API boundary but it really should be mapped to Uninstantiated. That's because when instantiation fails, typically all modules not yet visited will remain in the PreInstantiating state, yet they must appear Uninstantiated to the outside. A relevant test will be added to chromium shortly. Bug: v8:1569, chromium:748544 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icb33c7f90db5e62375b6c09d14e3d2d5342b0879 Reviewed-on: https://chromium-review.googlesource.com/586602Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46911}
-
Sathya Gunasekaran authored
- No need for multiple assertAsyncRan() calls, just do t.plan(count) - Previously, if you forget to call assertAsyncRan(), the test will still pass, which is no longer true. - No longer hold global state (with asyncAssertsExpected). Previously if one assert wasn't hit then there's no way to find out which test failed. You'd have to comment each test and try again. - Each test runs independently in the microtask queue. - Better failure reporting by printing the entire function. Example error : === mjsunit/harmony/promise-prototype-finally === abort: Expected asserts: 2, Actual asserts: 1 in test: reject/finally/then assert => { assert.plan(2); Promise.reject(3).finally().then( assert.unreachable, x => { assert.equals(3, x); }); } Change-Id: Ic3f6272e1e87b8b0121b8c8c7cce19cf90d1f1be Reviewed-on: https://chromium-review.googlesource.com/455555 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#46910}
-
Jaideep Bajwa authored
Port 1edb46cc Original Commit Message: This improves the general Array constructor call performance (w/o usable AllocationSite feedback) in TurboFan by ~2x, i.e. for example invoking the Array constructor like this var a = Array.call(undefined, n); instead of var a = Array(n); such that the CallIC doesn't know that it's eventually calling the Array constructor. It also thus changes the single argument Array constructor to always return holey arrays. Previously the single argument case for the Array constructor was somehow trying to dynamically detect 0 and in that case returned a packed array instead of a holey one. That adds quite a lot of churn, and doesn't seem to be very useful, especially since this might lead to unnecessary feedback pollution later. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6a50ae016556ed38a7d7ca5546b575ca25e91b4a Reviewed-on: https://chromium-review.googlesource.com/586641Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46909}
-
Jaideep Bajwa authored
Port 6ace4a50 Original Commit Message: In debug mode (SLOW_DCHECK), Handle<T>::cast accesses the object to check its type. Obviously we can no longer do that now that we run on a background thread. problem. I will look into fixing those as well. R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2140cd7b3e27a6deb24fe3f462d99ad31eeb8276 Reviewed-on: https://chromium-review.googlesource.com/586675Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46908}
-
Adithya Srinivasan authored
Calls to this method are currently being wrongly categorized as Blink C++ when it is cast to a GenericNamedPropertySetterCallback in Object::GetPropertyWithAccessor and called. Bug: Change-Id: I691346d0d1e6b22dfc12cf4cfb07cfff71a36baf Reviewed-on: https://chromium-review.googlesource.com/585169Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46907}
-
Georg Neis authored
This is for debugging only. R=adamk@chromium.org Bug: v8:1569 Change-Id: I6526d3a98e96bb1267f1850268c5dc83a64587a6 Reviewed-on: https://chromium-review.googlesource.com/586590 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46906}
-
Michael Starzinger authored
This fixes undefined behavior in the arithmetic negation operation by switching to a branch-free implementation. R=clemensh@chromium.org TEST=unittests/MachineOperatorReducerTest.Int32DivWithConstant Change-Id: I518f0e4343fc331607b8bbeefd2bb06285621fe6 Reviewed-on: https://chromium-review.googlesource.com/584870Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46905}
-
Ross McIlroy authored
Moves parser internalization of ast values out of ParseAny/Program/Function and instead internalizes during compile finalization. Currently also internalizes during scope analysis if there is a ScopeInfo to enable variable name lookups. We also internalize early for FCG / AstGraphBuilder. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia766795947d847517b87cd5ea39797347083174b Reviewed-on: https://chromium-review.googlesource.com/582407Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46904}
-
Ben L. Titzer authored
R=ahaas@chromium.org Bug: Change-Id: Ic2331617624ce724ba33e07a1a42ebe2549f8054 Reviewed-on: https://chromium-review.googlesource.com/586547Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46903}
-
Georg Neis authored
R=yangguo@chromium.org Bug: Change-Id: I1174bd88c252a0c9d16dca270088a0100ac4eb35 Reviewed-on: https://chromium-review.googlesource.com/584869 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46902}
-
Jaroslav Sevcik authored
Bug: v8:6520 Change-Id: I3d5a019885516d7cbc4f43bfb3892bed655a9628 Reviewed-on: https://chromium-review.googlesource.com/586708Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46901}
-
Jaideep Bajwa authored
Port dfdcaf43 Port 2e1f5567 Original Commit Message: This CL introduces TurboAssembler, a super-class of Assembler and sub-class of MacroAssembler. TurboAssembler contains all the functionality that is used by Turbofan and previously was part of MacroAssembler. TurboAssembler has access to the isolate but, in contrast to MacroAssembler, does not expect to be running on the main thread. R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:6048 LOG=N Change-Id: I3f51771afefe46410db7cda2625472d78c87f8c6 Reviewed-on: https://chromium-review.googlesource.com/583584Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46900}
-
Alexandre Talon authored
Reland of https://chromium-review.googlesource.com/c/543042/. Now the OSR phase is only used when OSRing from the ast graph builder. When OSRing from Turbofan, the implementation is now in the graph building phase, at the beginning of the VisitBytecode function. We are no longer generating any OSRLoopEntry or OSRNormalEntry nodes, nor nodes for the possible code of the OSRed function which is before the OSRed loops. The trimming and reducing of the OSR phase is not done either. This change in the way the way the OSR is done enabled to remove the workaround to the bug mentioned below. Bug: v8:6112 Bug: v8:6518 Change-Id: Ia02f2138f54fc79cab2f02fed68d9bb522d6ce14 Reviewed-on: https://chromium-review.googlesource.com/584756 Commit-Queue: Alexandre Talon <alexandret@google.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46899}
-
jgruber authored
Enables block coverage by default. Design doc: http://goo.gl/hSJhXn Tracking bug: http://crbug.com/v8/6000 Bug: v8:6000 Change-Id: I8c56474473b60e4707b75dc601b3e88455861a27 Reviewed-on: https://chromium-review.googlesource.com/583093 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46898}
-
Michael Achenbach authored
TBR=mstarzinger@chromium.org NOTRY=true Bug: chromium:748981 Change-Id: I2043d283bd4eb6d98082f202d88638b3ca96a7c8 Reviewed-on: https://chromium-review.googlesource.com/586687 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46897}
-
Peter Marshall authored
Previously we would shift the length of the string by three, which could overflow with the new larger string length limit. Now we check that the length will fit without extra allocation before and after the shift, because really large strings will never fit, and will always go to the Checked case. Bug: chromium:748069, v8:6148 Change-Id: I41cac14b0fde6c5e8ca92305a052cbb743111554 Reviewed-on: https://chromium-review.googlesource.com/584611 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46896}
-
Ben L. Titzer authored
R=clemensh@chromium.org Bug: Change-Id: I5e4cd8dcb9c22cd261b48598c021f84ad712ba58 Reviewed-on: https://chromium-review.googlesource.com/586249Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46895}
-
Ben L. Titzer authored
This brings the wasm-constants.js file inline with that (forked copy) in the WebAssembly spec repo, which should make it easier to export tests from V8 to the spec in the future. R=clemensh@chromium.org Bug: Change-Id: I7db23efc2d671f65b614f9dbc97ae2f355f91b04 Reviewed-on: https://chromium-review.googlesource.com/586248Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46894}
-
Ilija Pavlovic authored
In definitions for BranchShortHelperR6 and BranchAndLinkShortHelperR6 are noted many source code lines which are very often repeated or very similar. These lines of code calcluate offsets and for them this CL introduces functions CalculateOffset(). TEST= BUG= Change-Id: Ia64020efaeab207e72fc00d1dcb5b35a4003f36a Reviewed-on: https://chromium-review.googlesource.com/574229Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Reviewed-by: Miran Karić <Miran.Karic@imgtec.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#46893}
-
Miran.Karic authored
The CL introduces optimizations in code generator to MipsTst, MipsCmp, MipsCmpS and MipsCmpD instructions for mips32 and Mips64Tst, Mips64Cmp, Mips64CmpS and Mips64CmpD for mips64. BUG= Change-Id: I6daf465e0ac7475691078b4d683da5247df6ea99 Reviewed-on: https://chromium-review.googlesource.com/584529Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Commit-Queue: Miran Karić <Miran.Karic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#46892}
-
Adam Klein authored
This DCHECK would have triggered in the test cases in the attached bug. Bug: chromium:740591 Change-Id: Ib8e866fe60f5f4ee825e6772f68be768925ed792 Reviewed-on: https://chromium-review.googlesource.com/585401 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46891}
-
jgruber authored
The yield* statement when used in combination with async iterators is not supported yet, as that is desugared into a more complex construct that doesn't offer a good dedicated bytecode to attach the source range information yet. Note that invocation counts of generator functions are incorrect as they count each resumption as an individual call. See https://crbug.com/v8/6594. Bug: v8:6000 Change-Id: I7ac7073473c9b64bb207cdbc4dab083ec1145656 Reviewed-on: https://chromium-review.googlesource.com/582690 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46890}
-
Michael Starzinger authored
This switches the {StdlibSet} to be a data structure that does not require dynamic memory allocation. This makes it easier to carry it around as part of a {CompilationJob} and serialize it into the heap. R=clemensh@chromium.org Change-Id: I77b2353cfdcd9438a26f04d00749159fed9b9b6c Reviewed-on: https://chromium-review.googlesource.com/584868 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46889}
-
jgruber authored
Refactor common test code into code-coverage-utils.js and add tests to verify counter behavior in opt/no-opt situations. Bug: v8:6000 Change-Id: I07e62345476e8c81521c491ae605ddaf71600667 Reviewed-on: https://chromium-review.googlesource.com/584449Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46888}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9ce44b9..b77c52d TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: Ibcd3aef0008c0649ebba32cdb01caa0246047c7f Reviewed-on: https://chromium-review.googlesource.com/585677Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46887}
-
- 25 Jul, 2017 11 commits
-
-
Adam Klein authored
TBR=yangguo@chromium.org Change-Id: Ieebc7da56d2c583b2c937b68047b35290f924ec8 Reviewed-on: https://chromium-review.googlesource.com/585554 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46886}
-
Sathya Gunasekaran authored
Before we try to do ASI and fail with a generic error, we special case for the await token in the failure case. Bug: v8:6572, v8:6513 Change-Id: Ia050c98b5a5b20bc326f429a367635b8553e4112 Reviewed-on: https://chromium-review.googlesource.com/582210Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46885}
-
Aseem Garg authored
With this patch, rather than embedding the JSReceiver address directly in the WasmToJS wrappers, we put that in a fixed array with global handle scope and instead embed the location of the handle and the index in the wrapper. This ensures that the wrapper doesn't need to be patched if the GC kicks in. This is needed to get the WASM code off the GCed heap. R=mtrofin@chromium.org Bug: Change-Id: Ie5a77a78cdecec51b04f702c63b8e4285e6a2d8d Reviewed-on: https://chromium-review.googlesource.com/581682 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46884}
-
Caitlin Potter authored
Remove need for shuffling of accumulator and operand registers when suspending a generator BUG=v8:6351 TBR=bmeurer@chromium.org Change-Id: I372509adc03b9781716412b809639554fe16e372 Reviewed-on: https://chromium-review.googlesource.com/578377 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Caitlin Potter <caitp@igalia.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46883}
-
Mircea Trofin authored
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Iae6942cf2b223a296dda479af26a978576d0c58a Reviewed-on: https://chromium-review.googlesource.com/584367Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46882}
-
Adam Klein authored
Bug: chromium:740591 Change-Id: I869be41d8630b23704b9470c4d3db8a21bbde873 Reviewed-on: https://chromium-review.googlesource.com/583531Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46881}
-
Bill Budge authored
- Changes some instance fields from VM pointers to VM. - Changes some comments to correctly describe code. Bug: v8:6635 Change-Id: I9ec93ef0b09d541c966caa6482c5832cd6b1e149 Reviewed-on: https://chromium-review.googlesource.com/584931 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46880}
-
Michael Starzinger authored
R=rmcilroy@chromium.org BUG=v8:4203 Change-Id: I6741eaff237daa32fd4e88a125ebd51fe80d2adb Reviewed-on: https://chromium-review.googlesource.com/583655 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46879}
-
Leszek Swirski authored
Allow appending expressions to a CSA_ASSERT call, which will be printed if the assert fails, e.g. CSA_ASSERT(csa, IsFixedArray(array), array) -> CSA_ASSERT failed: IsFixedArray(array) [../../src/foo.cc] * array: 0x12345678 <SharedFunctionInfo> This helps debug assert failures where it may not be immediately obvious why the assert failed, and the runtime call to print the failure has already clobbered the registers used by the predicate. Currently, the number of additional expressions is limited to 5, for macro simplicity. Change-Id: I000b6806ea0f8f9240493b3606c9f845ca65faf9 Reviewed-on: https://chromium-review.googlesource.com/584752 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46878}
-
Andreas Haas authored
The manual monthly update of the wasm spec tests. R=rossberg@chromium.org Change-Id: I7d30750f18d6b4e53bbb59e24e040b1bd87d7eba Reviewed-on: https://chromium-review.googlesource.com/584750Reviewed-by: Andreas Rossberg <rossberg@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46877}
-
Mircea Trofin authored
os.system uses fork(), which is not supported by ASAN/LSAN. Some fuzz tests consist of js code that randomly picks properties and functions and calls them. Sometimes, this combination means ASAN will report false positives. Bug: chromium:740361 Change-Id: Id8d517263251a1fe88abadd33b0225c664b00498 Reviewed-on: https://chromium-review.googlesource.com/580313Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46876}
-