- 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
-
- 23 Aug, 2012 1 commit
-
-
erik.corry@gmail.com authored
affect the order in which the local variables are processed in the compiler. Review URL: https://chromiumcodereview.appspot.com/10870033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
By passing around a Zone object explicitly we no longer need to do a TLS access at the sites that allocate memory from the current Zone. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10534006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2012 1 commit
-
-
sanjoy@chromium.org authored
This CL changes some parts of the code to explicitly pass around a Zone. Not passing in a zone is okay too (in fact most of v8 still doesn't), but that may incur a TLS lookup. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10443114 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2012 1 commit
-
-
loislo@chromium.org authored
This will give us the ability to keep entries_ list sorted by id. And based on that fact we will be able to use it for: 1) GetNodeById method and drop sorted version of entries list in HeapSnapshot; 2) building heap stats; 3) doing the fill stage instead of second iteration over heap. BUG=none TEST=none R=yurys Review URL: https://chromiumcodereview.appspot.com/10031032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Mar, 2012 2 commits
-
-
svenpanne@chromium.org authored
TBR=rossberg@chromium.org Review URL: https://chromiumcodereview.appspot.com/9710001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property. To do this, we collect all accessor properties in a first pass and emit code for defining those properties afterwards in a second pass. As a finger exercise, the table used for collecting accessors has a (subset of an) STL-like iterator interface, including STL-like names and operators. Although C++ is quite verbose here (as usual, but partly this is caused by our current slightly clumsy classes/templates), things work out quite nicely and it cleans up some confusion, e.g. a table entry is not an iterator etc. Everything compiles into very efficient code, e.g. the loop condition 'it != accessor_table.end()' compiles into a single 'testl' instruction on ia32. +1 for using standard APIs! Review URL: https://chromiumcodereview.appspot.com/9691040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Feb, 2012 2 commits
-
-
fschneider@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9456006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The old HashMap class had an explicit member to determine the allocation policy. The template version matches the approach used already for lists. Cleanup some include dependencies and unnecessary forward declarations. Cleanup some dead code from isolate.h and replace some HEAP macros with GetHeap(). Review URL: https://chromiumcodereview.appspot.com/9372106 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Nov, 2011 1 commit
-
-
yangguo@chromium.org authored
Note that some cctests and d8 still contain statical members with exit time destructors. BUG=v8:1828 Review URL: http://codereview.chromium.org/8586025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Nov, 2011 1 commit
-
-
fschneider@chromium.org authored
This avoid duplicating the code for each template instance. Also remove dead code from different places in our code base. Removed some verification code from release builds. Review URL: http://codereview.chromium.org/8387070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-