- 13 May, 2022 1 commit
-
-
Clemens Backes authored
Now that we require C++17 support, we can just use the standard static_assert without message, instead of our STATIC_ASSERT macro. R=leszeks@chromium.org Bug: v8:12425 Change-Id: I1d4e39c310b533bcd3a4af33d027827e6c083afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647353Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#80524}
-
- 10 Jun, 2021 1 commit
-
-
John Xu authored
For Cobalt's purpose in the past, we introduced base::Memcpy to intercept memcpy calls and replace it with SbMemoryCopy on Starboard/Cobalt. Recently Cobalt removed SbMemoryCopy because we found out that memcpy implementation is universal. To reduce the cost to maintain base::Memcpy, let us remove it and revert back to raw memcpy. Bug: v8:10927 Change-Id: I060f191f8f1aed8b78ffe4558a3743f3a2da008b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2951462Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: John Xu <johnx@google.com> Cr-Commit-Position: refs/heads/master@{#75070}
-
- 30 Apr, 2021 1 commit
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mlippautz@chromium.org Bug: v8:11717 Change-Id: I05951486c8bbcd06bd4f329793cc483a1ade6833 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859851 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74293}
-
- 17 Nov, 2020 1 commit
-
-
John Xu authored
Bug: v8:10927 Change-Id: Icbdc0d7329ddd466e7d67a954246a35795b4dece Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2507310 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#71220}
-
- 06 Nov, 2020 1 commit
-
-
Clemens Backes authored
Replace by explicitly deleted copy constructor and assignment operator instead. Also add a note to the macros that they are deprecated. Only marked DISALLOW_ASSIGN and DISALLOW_COPY_AND_ASSIGN for now. Others are less often used, and can probably be removed in a single CL later. R=ahaas@chromium.org Bug: v8:11074 Change-Id: I3825bfbbc24b0698f3aef671189fbff586dd5d23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2523202Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#71015}
-
- 26 Oct, 2020 1 commit
-
-
Leszek Swirski authored
Add support for empty values (i.e. set behaviour) and heterogeneous lookup (lookup with a different key than the one you'll insert) to TemplateHashMap, and use it for the string table in AstValueFactory. Change-Id: I0c1487c9598127aac97059d4b9220e5c3c6283ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494705 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70765}
-
- 16 Jul, 2020 2 commits
-
-
Igor Sheludko authored
1) turn static methods to instance ones. 2) change New/Delete to NewArray/DeleteArray getting array length as argument instead of raw size. 3) propagate type tags through allocate/delete methods of existing AllocationPolicy classes. This will allow implementing accounting of deallocated zone memory. Bug: v8:10572 Change-Id: Ib41c646044814ac6d75d50b2847bbb8964ce25d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300489Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68904}
-
Igor Sheludko authored
... this reduces the size of VariableMap object by one word which in turn reduces zone memory pressure. The Scope class which contains VariableMap as a field is usually in top 5 of all allocated objects in zone memory. Bug: v8:9923 Change-Id: I79c6bd9ae97db72f24b831fd5e3733d8d7e4c0fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300486 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#68896}
-
- 15 Jul, 2020 2 commits
-
-
Igor Sheludko authored
... which gets the zone from its ZoneAllocationPolicy instance. This recovers memory regression caused by adding an AllocationPolicy instance into TemplateHashMapImpl and therefore to VariableMap. Bug: v8:10572 Change-Id: I7962b49e5f2669307e58b3ed7b1f29bab1c42cad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2298002Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68879}
-
Igor Sheludko authored
... this will avoid the need to pass AllocationPolicy to every method that can allocate/deallocate and allows to make deallocation method implementation stateful. The latter will also allow implementing accounting of deallocated zone memory. Adding one more field is generally fine because usually these hashmap objects are allocated on the stack or inside other rarely-allocated long-lived objects. The only exception is Scope class. The Scope objects are created very often during parsing and each of them has a VariableMap field. The Scope object size issue will be addressed in a follow-up CL. Bug: v8:10572 Change-Id: I63fbd41246cf2e568c8ba80c213d3e9caffc2c87 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284992Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68877}
-
- 01 Apr, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in base code to 'using' declarations. R=mlippautz@chromium.org Bug: v8:8834 Change-Id: Ic5c3d7fa2e50938c6f43e9ff304dc2289fed1133 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547650Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60546}
-
- 13 Jul, 2017 1 commit
-
-
Clemens Hammacher authored
There is just one version now, called IsPowerOfTwo. It accepts any integral type. There is one slight semantical change: Called with kMinInt, it previously returned true, because the argument was implicitly casted to an unsigned. It's now (correctly) returning false, so I had to add special handlings of kMinInt in machine-operator-reducer before calling IsPowerOfTwo on that value. R=mlippautz@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,ishell@chromium.org,yangguo@chromium.org Change-Id: Idc112a89034cdc8c03365b778b33b1c29fefb38d Reviewed-on: https://chromium-review.googlesource.com/568140Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46627}
-
- 10 Feb, 2017 1 commit
-
-
rmcilroy authored
Avoid reinserting the ast constant string values into the string_table_ of each AstValueFactory that is created, instead clone an initial copy created in AstStringConstants. BUG=686658 Review-Url: https://codereview.chromium.org/2687933003 Cr-Commit-Position: refs/heads/master@{#43112}
-
- 24 Nov, 2016 1 commit
-
-
verwaest authored
BUG=chromium:417697 Review-Url: https://codereview.chromium.org/2522223002 Cr-Commit-Position: refs/heads/master@{#41271}
-
- 14 Nov, 2016 1 commit
-
-
leszeks authored
Using indices rather than pointers to probe the hashmap lets us unconditionally mask the index to ensure it wraps around, rather than branching on the pointer value. This produces slightly more optimal code. Review-Url: https://codereview.chromium.org/2488423003 Cr-Commit-Position: refs/heads/master@{#40967}
-
- 03 Oct, 2016 1 commit
-
-
leszeks authored
Hashmaps with a simple key equality method (comparing pointers) don't need to waste cycles (and branches) comparing hash values, as the key comparison is cheap. This patch modifies the hashmap's MatchFun to take the hashes as well as the keys, thus allowing the MatchFun to ignore the hashes. This allows slightly cleaner generated code, especially when the MatchFun is inlined. BUG= Review-Url: https://codereview.chromium.org/2381303002 Cr-Commit-Position: refs/heads/master@{#39932}
-
- 30 Sep, 2016 1 commit
-
-
leszeks authored
matching function, creates a hashmap the specialises the case of keys that simply check pointer equality. I measure an average ~1% improvement on Octane code-load. Review-Url: https://codereview.chromium.org/2369963002 Cr-Commit-Position: refs/heads/master@{#39920}
-
- 29 Sep, 2016 2 commits
-
-
leszeks authored
Uses the base hashmap to store the ConstantArrayBuilder's constant map, which slightly improves the performance of ConstantArrayBuilder::Insert. Includes a small overload of the hashmap LookupOrInsert method, which allows passing in a value creation function instead of just default initialising new values. On Octane's codeload, this gives (on my machine) a 0.27% improvement, which doesn't sound like a lot but I guess every little helps. Review-Url: https://codereview.chromium.org/2336553002 Cr-Commit-Position: refs/heads/master@{#39883}
-
leszeks authored
Make MatchFun a template parameter in TemplateHashMapImpl, moving the PointersMatch function down to an implementation which extends TemplateHashMapImpl to void* key and value (i.e. the same as the current HashMap and ZoneHashMap typedefs). This will allow other instantiations of TemplateHashMapImpl, with different MatchFun values, e.g. std::equal_to, to have their key equality test inlined, rather than calling a function pointer, Review-Url: https://codereview.chromium.org/2354593002 Cr-Commit-Position: refs/heads/master@{#39868}
-
- 22 Sep, 2016 1 commit
-
-
leszeks authored
This reverts commit b42ecda5. That commit introduced a allocator field to hashmap, which indirectly added a field to Scopes, where the field, effectively storing a Zone, is unnecessary because the Zone can be accessed in other ways. Review-Url: https://codereview.chromium.org/2351393003 Cr-Commit-Position: refs/heads/master@{#39623}
-
- 20 Sep, 2016 3 commits
-
-
leszeks authored
Removes some unnecessary probing in TemplateHashMapImpl, in particular probing a second time in LookupOrInsert after the first probe came up with an empty value. Review-Url: https://codereview.chromium.org/2349163002 Cr-Commit-Position: refs/heads/master@{#39545}
-
leszeks authored
Moves the hashmap's allocator from being a parameter in the various hashmap functions, to being a field in the hashmap itself. This 1. Protects against incorrectly passed allocators, and 2. Cleans up the API so that e.g. callers don't have to store their allocator This is part of a wider set of changes discussed in: https://groups.google.com/forum/#!topic/v8-dev/QLsC0XPYLeM Review-Url: https://codereview.chromium.org/2345233003 Cr-Commit-Position: refs/heads/master@{#39538}
-
leszeks authored
Adds template parameters for the TemplateHashMapImpl for the key and value type, to allow them to be something other than pointers. To keep the impact of this patch low, uses of TemplateHashMapImpl set these types to void* to emulate the previous behaviour. This is part of a wider set of changes discussed in: https://groups.google.com/forum/#!topic/v8-dev/QLsC0XPYLeM Review-Url: https://codereview.chromium.org/2343123002 Cr-Commit-Position: refs/heads/master@{#39530}
-
- 23 Aug, 2016 1 commit
-
-
verwaest authored
This avoids needing to allocate a zonelist on the fly later, sorting variables_, for which we also need to keep track of order in the hashmap. In a later phase we can make sure that Variable is always uniquely in either of params_, temps_ and ordered_variables_. In that case we can use a linked list through Variable. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2264053003 Cr-Commit-Position: refs/heads/master@{#38810}
-
- 29 Jun, 2016 1 commit
-
-
hpayer authored
BUG= Review-Url: https://codereview.chromium.org/2109943003 Cr-Commit-Position: refs/heads/master@{#37376}
-
- 28 Jun, 2016 2 commits
-
-
hpayer authored
Revert of [heap] Reland uncommit unused large object page memory. (patchset #1 id:1 of https://codereview.chromium.org/2101383002/ ) Reason for revert: Crashes unbox-double-arrays Original issue's description: > [heap] Reland uncommit unused large object page memory. > > BUG= > > Committed: https://crrev.com/dd0ee5fd11653ba41a292641ccd66ae7cc5a8398 > Cr-Commit-Position: refs/heads/master@{#37341} TBR=ulan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2106933003 Cr-Commit-Position: refs/heads/master@{#37347}
-
hpayer authored
BUG= Review-Url: https://codereview.chromium.org/2101383002 Cr-Commit-Position: refs/heads/master@{#37341}
-
- 20 Jun, 2016 1 commit
-
-
asaka authored
Follow up from https://codereview.chromium.org/2010243003 BUG=v8:5050 Review-Url: https://codereview.chromium.org/2071273003 Cr-Commit-Position: refs/heads/master@{#37103}
-
- 09 Jun, 2016 1 commit
-
-
lpy authored
We ported hashmap.h into libsampler as a workaround before, so the main focus of this patch is to reduce code duplication. This patch moves the hashmap into src/base as well as creates DefaultAllocationPolicy using malloc and free. BUG=v8:5050 LOG=n Review-Url: https://codereview.chromium.org/2010243003 Cr-Commit-Position: refs/heads/master@{#36873}
-
- 08 Jun, 2016 1 commit
-
-
hpayer authored
Revert of [heap] Unregister shrinked large object memory from chunk map. (patchset #6 id:100001 of https://codereview.chromium.org/2046953002/ ) Reason for revert: Revert because uncommit of lo is broken. Original issue's description: > [heap] Unregister shrinked large object memory from chunk map. > > BUG=chromium:617883 > LOG=n > > Committed: https://crrev.com/2b38d3121b5fd0e409cdda0071fa2e0ec2846ab2 > Cr-Commit-Position: refs/heads/master@{#36793} TBR=ulan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:617883 Review-Url: https://codereview.chromium.org/2046563008 Cr-Commit-Position: refs/heads/master@{#36806}
-
- 07 Jun, 2016 1 commit
-
-
hpayer authored
BUG=chromium:617883 LOG=n Review-Url: https://codereview.chromium.org/2046953002 Cr-Commit-Position: refs/heads/master@{#36793}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 08 Aug, 2015 1 commit
-
-
jkummerow authored
Use a hash map instead of a list for faster lookups. BUG=chromium:517406 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1279763006 Cr-Commit-Position: refs/heads/master@{#30078}
-
- 13 Apr, 2015 1 commit
-
-
adamk authored
This avoids both a mysterious boolean argument ("insert") and lets non-mutating lookups skip passing an allocator (in one such case, we were passing a scary-looking ZoneAllocationPolicy(NULL)!). Review URL: https://codereview.chromium.org/1074943002 Cr-Commit-Position: refs/heads/master@{#27799}
-
- 02 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=base-unittests,cctest,mjsunit R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/528993002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2014 1 commit
-
-
marja@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/239133002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-