- 03 Aug, 2017 40 commits
-
-
Ulan Degenbaev authored
On advancing the iterator we need to reset the current object, so that it can be lazily reloaded later on. TBR=mlippautz@chromium.org Bug: chromium:694255 Change-Id: If7ddd8670df9d11837f491503312919b55b451fe Reviewed-on: https://chromium-review.googlesource.com/600687 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47142}
-
Ben Smith authored
Make sure to fail PrepareTransfer when the transferables array contains a non-ArrayBuffer, otherwise the function leaks a scheduled_exception. Bug: chromium:736565 Change-Id: I64c2e09eb92720519c7bda2dca41749ff5ac9c8d Reviewed-on: https://chromium-review.googlesource.com/599357 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47141}
-
Andreas Rossberg authored
R=titzer@chromium.org Bug: Change-Id: I2710aa5605bf2a26b6f86db98338dd54b6b87d2a Reviewed-on: https://chromium-review.googlesource.com/600235 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47140}
-
Andreas Rossberg authored
R=titzer@chromium.org Bug: Change-Id: Ib1a13b5131ec1b5a155c893de3c5ceb376bd33a3 Reviewed-on: https://chromium-review.googlesource.com/600227 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47139}
-
Clemens Hammacher authored
We need to modify that module, e.g. to add signatures to the signature maps. Hence it cannot be const. R=titzer@chromium.org CC=mtrofin@chromium.org Change-Id: I261af5b4233a0b2ec8031a9cbe0cf9f826316ae0 Reviewed-on: https://chromium-review.googlesource.com/600428Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47138}
-
Adam Klein authored
Change-Id: I42f51fd00b1a21a1ff7ef2379fbf81a42266a737 Reviewed-on: https://chromium-review.googlesource.com/599111Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47137}
-
Karl Schimpf authored
This fixes collection of function decoding time (See comment #20 of v8:6361). Updated other path for decoding to also update UMA stat. Bug: v8:6361 Change-Id: I8e6cb398aebd7847e064d3b9a979586ded118513 Reviewed-on: https://chromium-review.googlesource.com/598458 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#47136}
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Bug: Change-Id: Ia416acd8c12a3c8e3fdfabc56a4cd31cb946c88c Reviewed-on: https://chromium-review.googlesource.com/599949 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47135}
-
Miran.Karic authored
An optimization in li checks if a value has all their "n" LSBs set to one, and their "64-n" MSBs set to zero. This is done by checking base::bits::IsPowerOfTwo(value + 1), but this doesn't cover the case when only MSB is zero, and other bits are one. Added another check that covers the missing case, this also fixes Dsubu test. BUG= TEST=cctest/test-assembler-mips/Dsubu Change-Id: I97b8fb4984af3b7f974ba901e3a1a9c89e925805 Reviewed-on: https://chromium-review.googlesource.com/598228Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Commit-Queue: Miran Karić <Miran.Karic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#47134}
-
Andreas Rossberg authored
R=titzer@chromium.org Bug: v8:5815 Change-Id: Ied267a431ed294f022628169e811069f2a4851b1 Reviewed-on: https://chromium-review.googlesource.com/599875 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47133}
-
Ulan Degenbaev authored
This reverts commit b9acf4ed. Bug: chromium:694255 Change-Id: I62766e8b32cfa16af39a28ad07fecd72441ad8cd Reviewed-on: https://chromium-review.googlesource.com/598468Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47132}
-
Ulan Degenbaev authored
This is a reland of 35c923cc Original change's description: > [heap] Add support for atomic access to page flags. > > This patch renames AsAtomicWord to AsAtomicPointer and > adds new AsAtomicWord that works with intptr_t. > > Slot recording uses atomic page flag accessors. > > BUG=chromium:694255 > > Change-Id: I1c692813244b41320182e9eea50462d1802fcd98 > Reviewed-on: https://chromium-review.googlesource.com/597688 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47086} Bug: chromium:694255 Change-Id: I36780ff4001e068815d4be1e16cd06f1a4f98d13 Reviewed-on: https://chromium-review.googlesource.com/599909Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47131}
-
Maya Lekova authored
This DCHECK is incorrect in no-snapshot builds because we can run garbage collection while deserializing the snapshot. Bug: v8:6559, v8:6557 Change-Id: I0b8456ee19443f796889656952b236ff40b1e2fb Reviewed-on: https://chromium-review.googlesource.com/600367Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47130}
-
Ross McIlroy authored
BUG=v8:5203 Change-Id: I2c4854096bda35fbfb50820e9fb2ece2cb029e55 Reviewed-on: https://chromium-review.googlesource.com/597927Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47129}
-
Andreas Rossberg authored
R=titzer@chromium.org Bug: v8:6647 Change-Id: I73f19111b5c40988d57e9086852da902ba36acb2 Reviewed-on: https://chromium-review.googlesource.com/599872Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#47128}
-
Ben L. Titzer authored
R=rossberg@chromium.org Bug: Change-Id: I2401709b42106c7e325144b53be3c3b3d1ed16c7 Reviewed-on: https://chromium-review.googlesource.com/599874Reviewed-by: Andreas Rossberg <rossberg@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47127}
-
Michael Lippautz authored
This mitigates the problem of blocking on the main thread when the platform is unable to execute background tasks in a timely manner. Bug: v8:6671 Change-Id: I741d4b7594e8d62721dad32cbfb19551ffacd0c3 Reviewed-on: https://chromium-review.googlesource.com/599528 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47126}
-
Michael Starzinger authored
The predicate in question used to report true on both, Crankshaft and TurboFan code. It has hence become obsolete and can be replaced by the existing {Code::is_turbofanned} predicate. This also frees up a bit in the second kind-specific bit field. R=jarin@chromium.org BUG=v8:6408 Change-Id: I204d7dd78a639c752c9749fd305c7006c6b6aca3 Reviewed-on: https://chromium-review.googlesource.com/599868Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47125}
-
Michael Starzinger authored
R=tebbi@chromium.org Change-Id: I9d22e0731da3e170fe40aa34667ff8948e11bb5c Reviewed-on: https://chromium-review.googlesource.com/595972Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47124}
-
Clemens Hammacher authored
For determining whether unaligned memory accessed is allowed, it is actually sufficient to pass the MachineRepresentation instead of the MachineType. As the MachineRepresentation is an enum, this allows to store the set of unsupported types as an EnumSet instead of std::vector. R=mstarzinger@chromium.org Change-Id: Ibe44717bae3a6034bae683057e80bd40d92e70ae Reviewed-on: https://chromium-review.googlesource.com/598790 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47123}
-
Albert Mingkun Yang authored
Bug: 749486 The feature is off by default, and could be turned on via `v8_enable_csa_write_barrier = true`. With this CL, only x64 uses this feature Change-Id: Ie024f08b7d796a4cc4d55285dc9fe796780f0e53 Reviewed-on: https://chromium-review.googlesource.com/588891Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Albert Mingkun Yang <albertnetymk@google.com> Cr-Commit-Position: refs/heads/master@{#47122}
-
Tobias Tebbi authored
This is a reland of a6c3f143 Original change's description: > [turbofan] enable new implementation of escape analysis > > Bug: > Change-Id: I0218ab67bf391deb8f1b1b78811643eb84745b7c > Reviewed-on: https://chromium-review.googlesource.com/595508 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47032} Change-Id: Ide3d11f4b25eae2bbcaca9fc3cdb983d73ba846c Reviewed-on: https://chromium-review.googlesource.com/599827Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47121}
-
Clemens Hammacher authored
Currently, EnumSet cannot be used with scoped enums (declared as "enum class" or "enum struct"), as these cannot be implicitly casted to their underlying integral type. This CL changes this by adding a static cast. Plus drive-by fixes. R=mstarzinger@chromium.org Change-Id: I3aa2ef78e896b2734f1e5695237efc8a1130703c Reviewed-on: https://chromium-review.googlesource.com/598789 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47120}
-
Ross McIlroy authored
Don't hold a pointer to parse_info in compilation_info, and instead explicitly add the fields needed in compiation_info. The intention is to make ParseInfo only actually needed for parsing, and eventually make it possible to compile with only a CompileInfo. BUG=v8:5203 Change-Id: Iecd39245e44c218874401c3991eeaf3ceef2816f Reviewed-on: https://chromium-review.googlesource.com/595738Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47119}
-
Tobias Tebbi authored
Bug: Change-Id: Ifd233c9b592c784d6326d3663c491e5e32e9ddeb Reviewed-on: https://chromium-review.googlesource.com/600047Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47118}
-
Michael Achenbach authored
This reverts commit 47a97aa5. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug Original change's description: > [builtins] Port getting property from Proxy to CSA > > Bug: v8:6559, v8:6557 > Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 > Reviewed-on: https://chromium-review.googlesource.com/589212 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Maya Lekova <mslekova@google.com> > Cr-Commit-Position: refs/heads/master@{#47113} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,franzih@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Id28e529d1d88f7589d4d66ef23b8b510a33a817b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6559, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/600049Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47117}
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Bug: Change-Id: I95acea7b33a6e5799399d0891b2a52103f5e4964 Reviewed-on: https://chromium-review.googlesource.com/598072Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47116}
-
Clemens Hammacher authored
The {alignment} parameter in {UnalignedLoadSupported} and {UnalignedStoreSupported} is never being used. This CL removes it from several interfaces and users. R=mstarzinger@chromium.org Change-Id: Iad5a638b7ed358beeed42f0ea7308dc04f1ed23e Reviewed-on: https://chromium-review.googlesource.com/598788Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47115}
-
Ben L. Titzer authored
Since frames.h no longer defines basic register types like RegList, it is no longer necessary to include it in the macro assemblers. Next step: split out frame-constants.h from frames.h so that it will be possible to get frame constants without include the stackwalking logic, which needs objects.h. R=mstarzinger@chromium.org Bug: Change-Id: Ia12d3c8a8d46a73106c3c90bcb4b470c85f1eaa7 Reviewed-on: https://chromium-review.googlesource.com/597788 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47114}
-
Maya Lekova authored
Bug: v8:6559, v8:6557 Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 Reviewed-on: https://chromium-review.googlesource.com/589212Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47113}
-
Andreas Haas authored
The ScheduledErrorThrower is also needed in the wasm-async fuzzer so I moved the implementation from wasm-js.cc to wasm-api.[h|cc]. R=clemensh@chromium.org Bug: chromium:749838 Change-Id: I49d7438d1ec0281285ce0c64ba462c22001be08e Reviewed-on: https://chromium-review.googlesource.com/591447 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47112}
-
Clemens Hammacher authored
Rename OPTIONAL_ACCESSOR to OPTIONAL_ACCESSORS (to be in line with ACCESSORS and DECL_OPTIONAL_ACCESSORS), and make OPTIONAL_ACCESSORS also define the ACCESSORS (to be in line with DECL_OPTIONAL_ACCESSORS). Drive-by: Remove DECL_OPTIONAL_GETTER; just define the setter too. R=titzer@chromium.org Change-Id: Id41a652153d7a1e2a15a5f69c6f52b96298f9dc1 Reviewed-on: https://chromium-review.googlesource.com/598868Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#47111}
-
Maya Lekova authored
Bug: v8:6664, v8:6557 Change-Id: Ib0f9b258d49f96bee041cbcfc589f3ec91e013ed Reviewed-on: https://chromium-review.googlesource.com/597859Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47110}
-
Michael Starzinger authored
This removes the obsolete {Crankshaft} factory method as it returns the same configuration as the {Turbofan} factory by now. We now consistently use {RegisterConfiguration::Default} everywhere. R=jkummerow@chromium.org BUG=v8:6408 Change-Id: I6be25774aa6714ef4dc1ef6856bb6dbc95593a29 Reviewed-on: https://chromium-review.googlesource.com/597858Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47109}
-
Michael Starzinger authored
R=jarin@chromium.org TEST=mjsunit/regress/regress-crbug-751715 BUG=chromium:751715 Change-Id: Ibc5d2ce958b6f0c94b41926eb215e81d70833a9d Reviewed-on: https://chromium-review.googlesource.com/598227Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47108}
-
jgruber authored
This begins splitting up the Deserializer class into {Object,Partial,Startup}Deserializer. For now, all functionality remains in the Deserializer base clase, to be refactored in future CLs. Empty .cc files are added here to avoid having to touch build files again. Bug: v8:6624 Change-Id: If563e03492991bd55c91cd2e09312c0a26aaab2c Reviewed-on: https://chromium-review.googlesource.com/598067Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47107}
-
Jakob Gruber authored
This reverts commit 062bb7d4. Reason for revert: <INSERT REASONING HERE> Original change's description: > [regexp] Limit ATOM regexps to single-character patterns > > There's an inherent trade-off when deciding between ATOM and IRREGEXP > regexps: IRREGEXP is faster at runtime for all but trivial single-character > patterns, while ATOM regexps have a lower memory overhead. > > This CL is intended to help investigate impact on benchmarks and real-world > code - if something tanks, it's easy to revert, otherwise it can be a first > step towards a possible removal of ATOM regexps. > > Bug: v8:6633 > Change-Id: Ia41d8eb28d33952735562d3d4127202746a6ac4e > Reviewed-on: https://chromium-review.googlesource.com/589435 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47081} TBR=yangguo@chromium.org,jgruber@chromium.org Change-Id: I8655bc4055af5d593f507e16918b434ff45f5379 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6633 Reviewed-on: https://chromium-review.googlesource.com/599547Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47106}
-
Benedikt Meurer authored
Previously TryToName bailed out for Oddball keys (i.e. when passing true or false as the key), which meant that for example the generic KeyedLoadIC would always bail out to the %KeyedGetProperty runtime function. But handling Oddball keys is fairly easy, since every oddball value carries it's unique string representation. Adding just this case to the CodeStubAssembler::TryToName method boosts this simple micro-benchmark by a factor of 4x: const n = 1e7; const obj = {}; const key = true; console.time('foo'); for (let i = 0; i < n; ++i) { if (obj[key] === undefined) { obj[key] = key; } } console.timeEnd('foo'); It also shows on the ARES-6 ML benchmark and on several Speedometer tests, where objects are being used as dictionaries and the developers rely on the implicit ToString conversions on the property accesses. In the ARES-6 ML benchmark, the number of calls to %KeyedGetProperty is reduced by 137,758. Bug: v8:6278, v8:6344, v8:6670 Change-Id: Iaa965e30be4c247682a67ec09543655df9b761d2 Reviewed-on: https://chromium-review.googlesource.com/599527Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47105}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/c15e746..6a89d4e Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/3ec5781..c8c5d6b Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/b18e402..ec00334 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I8897f39489ce90bc0fa99b3e6294f5f262f48427 Reviewed-on: https://chromium-review.googlesource.com/599455Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47104}
-
Alexey Kozyatinskiy authored
It's important in multi-session case, each agent should cleanup own breakpoints on disabled. R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I1b2182aa01e74c7e9f36addf998c779d1d32feef Reviewed-on: https://chromium-review.googlesource.com/594272 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#47103}
-