- 04 Nov, 2016 1 commit
-
-
vogelheim authored
Some accessors requires little to no computation at all, its result can be cached in a private property, avoiding the call overhead. Calls to the getter are translated into a cheap property load. Follow-on to crrev.com/2347523003, from peterssen@google.com BUG=chromium:634276, v8:5548 Review-Url: https://codereview.chromium.org/2405213002 Cr-Commit-Position: refs/heads/master@{#40765}
-
- 24 Oct, 2016 1 commit
-
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2438553003 Review-Url: https://codereview.chromium.org/2438553003 Cr-Original-Original-Commit-Position: refs/heads/master@{#40503} Cr-Original-Commit-Position: refs/heads/master@{#40511} Cr-Commit-Position: refs/heads/master@{#40524}
-
- 21 Oct, 2016 4 commits
-
-
ishell authored
Revert of [ic] Support data handlers that represent simple field stores. (patchset #2 id:40001 of https://codereview.chromium.org/2438553003/ ) Reason for revert: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9306 "V8 Mac GC Stress" Original issue's description: > [ic] Support data handlers that represent simple field stores. > > BUG= > > Review-Url: https://codereview.chromium.org/2438553003 > Cr-Commit-Position: refs/heads/master@{#40503} TBR=jkummerow@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://chromiumcodereview.appspot.com/2442523003 Cr-Commit-Position: refs/heads/master@{#40512}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2438553003 Review-Url: https://chromiumcodereview.appspot.com/2438553003 Cr-Original-Commit-Position: refs/heads/master@{#40503} Cr-Commit-Position: refs/heads/master@{#40511}
-
jgruber authored
Revert of [ic] Support data handlers that represent simple field stores. (patchset #1 id:20001 of https://chromiumcodereview.appspot.com/2438553003/ ) Reason for revert: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9299 Original issue's description: > [ic] Support data handlers that represent simple field stores. > > BUG= TBR=jkummerow@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://chromiumcodereview.appspot.com/2439053002 Cr-Commit-Position: refs/heads/master@{#40505}
-
ishell authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2438553003 Cr-Commit-Position: refs/heads/master@{#40503}
-
- 17 Oct, 2016 1 commit
-
-
jochen authored
R=machenbach@chromium.org,titzer@chromium.org,bmeurer@chromium.org,jgruber@chromium.org BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2416243002 Cr-Commit-Position: refs/heads/master@{#40350}
-
- 26 Sep, 2016 1 commit
-
-
jgruber authored
V8 is collecting a growing amount of fuzzers, all of which take substantial space on the bots and in chromium build archives. This CL improves that situation by allowing component (shared library) builds for almost all fuzzers. The parser fuzzer is handled as an exception since it would require exporting a large number of additional functions. A component build results in about a 50-100x improvement in file size for each fuzzer (~50M-100M to around 1.1M). BUG=chromium:648864 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe Review-Url: https://codereview.chromium.org/2360983002 Cr-Commit-Position: refs/heads/master@{#39709}
-
- 06 Sep, 2016 1 commit
-
-
mlippautz authored
R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2316503004 Cr-Commit-Position: refs/heads/master@{#39212}
-
- 05 Sep, 2016 1 commit
-
-
mlippautz authored
R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2311003002 Cr-Commit-Position: refs/heads/master@{#39185}
-
- 01 Sep, 2016 1 commit
-
-
jbroman authored
This allows the constructors which simply fill in a missing parameter to do so without duplicating the constructor body. Review-Url: https://codereview.chromium.org/2294093008 Cr-Commit-Position: refs/heads/master@{#39110}
-
- 25 Jul, 2016 1 commit
-
-
ishell authored
BUG=chromium:619166,chromium:625155 Review-Url: https://codereview.chromium.org/2175273002 Cr-Commit-Position: refs/heads/master@{#38018}
-
- 07 Jul, 2016 1 commit
-
-
ishell authored
Now LookupIterator follows the same pattern of prepare transition, apply transition and write value when adding new properties to dictionary objects. JSGlobalObject case: * Prepare transition phase ensures that there is a "transition" property cell prepared for receiving a value. * Apply transition phase does nothing. * Prepare for data property phase ensures that the existing property cell can receive the value. * Write value phase writes value directly to the current property cell. JSObject case: * Prepare transition phase prepares the object for receiving a data value (which could switch an object to dictionary mode). * Apply transition phase migrates object to a transition map. If the map happened to be a dictionary mode object's map then an uninitialized entry added to the properties dictionary. * Prepare for data property phase does nothing. * Write value phase just puts value to the properties dictionary. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2127583002 Cr-Commit-Position: refs/heads/master@{#37585}
-
- 27 Jun, 2016 1 commit
-
-
jochen authored
This superseeds all-can-read/all-can-write properties BUG=chromium:618305 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2087823002 Cr-Commit-Position: refs/heads/master@{#37286}
-
- 24 Jun, 2016 1 commit
-
-
adamk authored
Flags removed (all begin with "harmony-"): function-name instanceof iterator-close unicode-regexps regexp-exec regexp-subclass species BUG=v8:3566, v8:3648, v8:3699, v8:4093, v8:4447, v8:4602 Review-Url: https://codereview.chromium.org/2096933002 Cr-Commit-Position: refs/heads/master@{#37235}
-
- 17 May, 2016 1 commit
-
-
bmeurer authored
This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=ishell@chromium.org TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1980483003 Cr-Commit-Position: refs/heads/master@{#36275}
-
- 13 May, 2016 1 commit
-
-
verwaest authored
Hidden prototypes are merely an implementation detail. Properties on an object + hidden prototype should look like properties on the object. Hence we should always perform a hidden prototype lookup. This CL removes the option to ignore hidden prototypes to avoid bugs that leak this implementation detail. Also, the only previously valid cases were either places were we knew we didn't have a hidden prototype; or because we knew we (in the optimizing compiler) would only handle properties from the non-hidden object.The first case is already handled by directly tagging whether a receiver has a hidden prototype. In the second case we can just filter out properties from hidden prototypes. Review-Url: https://codereview.chromium.org/1975763002 Cr-Commit-Position: refs/heads/master@{#36235}
-
- 12 May, 2016 1 commit
-
-
cbruni authored
Currently we do not check for @@isConcatSpreadable properly. If the Symbol is set on the Array.prototype or Object.prototype the current fast paths fail. This CL adds a fix to globally invalidate a isConcatSpreadable_protector. Drive-by-fix: use named accessors for context variables LOG=N BUG=chromium:542504, v8:903 Review-Url: https://codereview.chromium.org/1409123003 Cr-Commit-Position: refs/heads/master@{#36201}
-
- 04 May, 2016 1 commit
-
-
jochen authored
BUG=chromium:588893, chromium:325923 LOG=n R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/1943303002 Cr-Commit-Position: refs/heads/master@{#36025}
-
- 09 Mar, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1776803003 Cr-Commit-Position: refs/heads/master@{#34628}
-
- 07 Mar, 2016 1 commit
-
-
verwaest authored
BUG=chromium:592305 LOG=n Review URL: https://codereview.chromium.org/1770833002 Cr-Commit-Position: refs/heads/master@{#34552}
-
- 04 Mar, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765713003 Cr-Commit-Position: refs/heads/master@{#34492}
-
- 03 Mar, 2016 1 commit
-
-
machenbach authored
This reverts commit 2608ecc7. Revert "Specialize helper methods in the LookupIterator by is_element." This reverts commit 6eb483f8. Revert "Avoid SetPropertyInternal if the LookupIterator is NotFound" This reverts commit ca5bd8d4. Revert "Inline fast-bailout-checks for LookupIterator::UpdateProtector" This reverts commit d98570a1. This breaks layout tests with timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5060 It also seems to break jsfunfuzz: https://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/7930 The other three CLs are reverted to be able to revert the first. BUG=v8:4798 LOG=n TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/1761593003 Cr-Commit-Position: refs/heads/master@{#34457}
-
- 02 Mar, 2016 3 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1754023003 Cr-Commit-Position: refs/heads/master@{#34438}
-
verwaest authored
This speeds up lookup. BUG= Review URL: https://codereview.chromium.org/1753273002 Cr-Commit-Position: refs/heads/master@{#34430}
-
verwaest authored
This introduces a new instance type and reorders the JSObject types so any type requiring special LookupIterator support can be identified with a single range check. In addition, it restructures the Next for better performance, avoiding unnecessary calls. BUG= Review URL: https://codereview.chromium.org/1751043002 Cr-Commit-Position: refs/heads/master@{#34429}
-
- 22 Feb, 2016 1 commit
-
-
littledan authored
This patch makes ArraySpeciesCreate fast in V8 by avoiding two property reads when the following conditions are met: - No Array instance has had its __proto__ reset - No Array instance has had a constructor property defined - Array.prototype has not had its constructor changed - Array[Symbol.species] has not been reset For subclasses of Array, or for conditions where one of these assumptions is violated, the full lookup of species is done according to the ArraySpeciesCreate algorithm. Although this is a "performance cliff", it does not come up in the expected typical use case of @@species (Array subclassing), so it is hoped that this can form a good start. Array subclasses will incur the slowness of looking up @@species, but their use won't slow down invocations of, for example, Array.prototype.slice on Array base class instances. Possible future optimizations: - For the fallback case where the assumptions don't hold, optimize the two property lookups. - For Array.prototype.slice and Array.prototype.splice, even if the full lookup of @@species needs to take place, we still could take the rest of the C++ fastpath. However, to do this correctly requires changing the calling convention from C++ to JS to pass the @@species out, so it is not attempted in this patch. With this patch, microbenchmarks of Array.prototype.slice do not suffer a noticeable performance regression, unlike their previous 2.5x penalty. TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/1689733002 Cr-Commit-Position: refs/heads/master@{#34199}
-
- 19 Feb, 2016 1 commit
-
-
verwaest authored
This should restore the splay regression. BUG= Review URL: https://codereview.chromium.org/1714753003 Cr-Commit-Position: refs/heads/master@{#34144}
-
- 18 Feb, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1704353002 Cr-Commit-Position: refs/heads/master@{#34118}
-
- 17 Feb, 2016 2 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1705713002 Cr-Commit-Position: refs/heads/master@{#34070}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1702623002 Cr-Commit-Position: refs/heads/master@{#34063}
-
- 16 Feb, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1702443002 Cr-Commit-Position: refs/heads/master@{#34024}
-
- 15 Feb, 2016 1 commit
-
-
verwaest authored
By not calling ReloadPropertyInformation, we avoid expensive descriptor array lookup. BUG= Review URL: https://codereview.chromium.org/1697153002 Cr-Commit-Position: refs/heads/master@{#33995}
-
- 11 Feb, 2016 1 commit
-
-
verwaest authored
In the case of a simple fast-mode receiver without fancy properties, we can just walk over the descriptor array to find all its initial property names. As long as the map stays the same, we can also use that descriptor array to figure out how to handle the properties. This speeds up https://github.com/kpdecker/six-speed/tree/master/tests/object-assign by ~2x. BUG= Review URL: https://codereview.chromium.org/1688953004 Cr-Commit-Position: refs/heads/master@{#33895}
-
- 03 Feb, 2016 1 commit
-
-
verwaest authored
This was inconsistent in the spec in case of has vs get, set. Removing receiver==holder simplifies the lookup; so tentatively removing this additional check which was broken until yesterday anyway. See https://github.com/tc39/ecma262/issues/347 for more information. Review URL: https://codereview.chromium.org/1660903002 Cr-Commit-Position: refs/heads/master@{#33701}
-
- 02 Feb, 2016 1 commit
-
-
verwaest authored
This includes 2 fixes: 1) We didn't properly advance the holder when checking whether Receiver==Holder, so we'd inadvertently block loading the property if the first property we find is on the typed array. 2) Reflect.get may cause any object on the prototype chain of the holder to be the receiver; so we need to recheck for this special state for each object we perform lookup on. Review URL: https://codereview.chromium.org/1651913005 Cr-Commit-Position: refs/heads/master@{#33689}
-
- 27 Jan, 2016 1 commit
-
-
verwaest authored
BUG=chromium:580584 LOG=y Review URL: https://codereview.chromium.org/1632603002 Cr-Commit-Position: refs/heads/master@{#33551}
-
- 26 Jan, 2016 1 commit
-
-
jarin authored
This replace HeapType with a dedicated class that implements just what we need for field type tracking. In the next CL, I plan to remove FieldType::Iterator because FieldType can iterate over at most one map. The ultimate plan is to get rid of templates in types.(h|cc) and remove type-inl.h. TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1636013002 Cr-Commit-Position: refs/heads/master@{#33521}
-
- 01 Dec, 2015 1 commit
-
-
neis authored
R=rossberg BUG=v8:1543 LOG=N Review URL: https://codereview.chromium.org/1481103002 Cr-Commit-Position: refs/heads/master@{#32457}
-
- 27 Nov, 2015 1 commit
-
-
pan.deng authored
BUG=None LOG=n Review URL: https://codereview.chromium.org/1473023004 Cr-Commit-Position: refs/heads/master@{#32354}
-