- 25 Oct, 2018 1 commit
-
-
Toon Verwaest authored
It's unnecessary to buffer in the zone, and using a deque is more expensive than an std::vector as a stack since we reuse areas very frequently. The top-of-stack that the State keeps track of is now simply tracked in the state, with a scope_depth_ counter to figure out if the fni_ is "open" (has an active state). Change-Id: I29ad3db7520340b8fe035feed400178bd50785bc Reviewed-on: https://chromium-review.googlesource.com/c/1298894Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56974}
-
- 17 Oct, 2018 1 commit
-
-
Florian Sattler authored
Store the bits of a small type into the lower bits of a pointer type that are free due to alignment. Furthermore, reordering of members to reduce size of some classes. Change-Id: I3c619cb74053f64995ea7d0cb395e8edda604f18 Reviewed-on: https://chromium-review.googlesource.com/c/1273019 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56726}
-
- 21 Sep, 2018 2 commits
-
-
Toon Verwaest authored
Simplify zone discarding for preparsed functions by simply giving the preparser its own zone that we reset whenever we finish preparsing something. Change-Id: I3135fbbcd6caefa4654b1ae2b2207377e51bee26 Reviewed-on: https://chromium-review.googlesource.com/1238614 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56146}
-
Toon Verwaest authored
Rather than allocating one in the zone and swapping them on discardable zone swap, we simply swap the zone in the inferrer and allow the stacks to grow in the outer zone. The inner segments will be dropped anyway. This also introduces a PreParserFuncNameInferrer that just has dummy implementations. That way we can avoid checking whether fni_ is nullptr at runtime. Change-Id: I0ff41b16d31571fc4606fd46b705d80b423343eb Reviewed-on: https://chromium-review.googlesource.com/1238573Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56132}
-
- 24 Jul, 2018 1 commit
-
-
Leszek Swirski authored
Replace most uses of ZoneList in the parser with ZoneChunkList, which is more Zone allocation friendly. Includes rewriting some index-based loops as iterator-based, since ZoneChunkList random access isn't constant time. Bug: v8:7754 Change-Id: I49052b8afb90a4f3bfbe4076c2f90505b598e47a Reviewed-on: https://chromium-review.googlesource.com/1145382Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54631}
-
- 12 Jul, 2018 1 commit
-
-
Marja Hölttä authored
api.h: MAKE_TO_LOCAL funcs need the types to be available. scope.h, func-name-inferrer.h, bigint.h, module.h: These were using inline headers -> de-inlined. BUG=v8:7754,v8:7490 Change-Id: Id072f537682fb867cd68d79ca95b06628780d01f Reviewed-on: https://chromium-review.googlesource.com/1131175 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54414}
-
- 24 Mar, 2017 1 commit
-
-
Daniel Vogelheim authored
Removes the AstString super-class and makes the two sub-classes stand-alone. That also removes the slightly awkward implementation of a super-class with dynamically dispatched behaviour, except it was manually implemented because virtual function calls were considered expensive. BUG=v8:6902 Change-Id: I079a2372557aa17ee839efcaddb9b7fe86e38b4d Reviewed-on: https://chromium-review.googlesource.com/458428 Commit-Queue: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44104}
-
- 27 Jan, 2017 1 commit
-
-
marja authored
These headers only need forward declarations. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2654253002 Cr-Commit-Position: refs/heads/master@{#42740}
-
- 20 Sep, 2016 1 commit
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
- 16 Aug, 2016 1 commit
-
-
adamk authored
See https://google.github.io/styleguide/cppguide.html#Enumerator_Names Also rename "FunctionBody" to "FunctionBodyType" and move it inside Parser, which is the only place it's referenced. R=caitp@igalia.com, littledan@chromium.org Review-Url: https://codereview.chromium.org/2245133003 Cr-Commit-Position: refs/heads/master@{#38671}
-
- 12 Aug, 2016 1 commit
-
-
caitp authored
No longer include the "async" keyword, or an async arrow function's single identifier parameter as part of its inferred name. BUG=v8:5281, v8:4483 R=adamk@chromium.org, littledan@chromium.org, marja@chromium.org Review-Url: https://codereview.chromium.org/2235423003 Cr-Commit-Position: refs/heads/master@{#38627}
-
- 10 Dec, 2015 1 commit
-
-
adamk authored
Without this fix, AssignmentExpressions that happen to be arrow functions would lead to unbalanced Enter/Leave calls on the fni_, causing thrashing while trying to infer function names. Symptoms include slow parsing or OOM (when we create too many AstConsStrings). To try to keep this from happening in the future, added an RAII helper class to handle Entering/Leaving FNI state. The included regression test crashes on my workstation without the patch. Note that it's too slow in debug mode (as well as under TurboFan), so I've skipped it there. BUG=v8:4595 LOG=y Review URL: https://codereview.chromium.org/1507283003 Cr-Commit-Position: refs/heads/master@{#32768}
-
- 26 Nov, 2015 1 commit
-
-
rossberg authored
Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1481613002 Cr-Commit-Position: refs/heads/master@{#32351}
-
- 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}
-
- 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
-
- 24 Jun, 2014 1 commit
-
-
marja@chromium.org authored
This is a reincarnation of r21841. The previous try was https://codereview.chromium.org/314603004/ but it regressed JSBench and morejs. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/335293004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jun, 2014 1 commit
-
-
marja@chromium.org authored
Plus the fixes on top. Reason: regresses benchmarks (JSBench) and perf (morejs). TBR=rossberg@chromium.org BUG=385404 LOG=N Review URL: https://codereview.chromium.org/345513003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2014 1 commit
-
-
marja@chromium.org authored
This is needed so that we can run Parser on a non-main thread (independent of the Isolate and the V8 heap). BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/314603004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 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
-
- 11 Mar, 2014 1 commit
-
-
marja@chromium.org authored
BUG=v8:3126 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/192993002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19805 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
-
- 24 May, 2012 1 commit
-
-
yurys@chromium.org authored
BUG=v8:2146 Review URL: https://chromiumcodereview.appspot.com/10414075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Oct, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
R=kmillikin@chromium.org BUG=v8:1732 TEST=test-func-name-inference/GlobalAssignmentAndCall,AssignmentAndCall Review URL: http://codereview.chromium.org/8112007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jun, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
R=kmillikin@chromium.org, vitalyr@chromium.org BUG=1354 TEST=test-func-name-inference Review URL: http://codereview.chromium.org/7206015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Aug, 2010 1 commit
-
-
kasperl@chromium.org authored
the parser in preparation for not using the optimizer when using the full codegen. Code covered by existing tests. Review URL: http://codereview.chromium.org/3141034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
This issue was raised by Brett Wilson while reviewing my changelist for readability. Craig Silverstein (one of C++ SG maintainers) confirmed that we should declare one namespace per line. Our way of namespaces closing seems not violating style guides (there is no clear agreement on it), so I left it intact. Review URL: http://codereview.chromium.org/115756 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
All changes from http://codereview.chromium.org/115024, except splitting namespace declarations in two lines (will be done separately for all source files). Review URL: http://codereview.chromium.org/113763 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2009 1 commit
-
-
bak@chromium.org authored
Yields a 2% speedup when running compiler-benchmark. Review URL: http://codereview.chromium.org/113519 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
In such a case all functions get the same name. I think it's a good performance / usability tradeoff. In case a developer wants more clarity, it's up to him to give names to functions. Review URL: http://codereview.chromium.org/67168 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2009 1 commit
-
-
kmillikin@chromium.org authored
multiple anonymous function literals as subexpressions. Choose the rightmost one the one to attach a name to. Review URL: http://codereview.chromium.org/67165 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/73025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Currently function name inference is wired with AST optimization pass to avoid introducing another pass over AST. A better solution would be to rewrite AST visitors so they can be naturally combined together in a single pass, as their current implementation doesn't allow it. For examples of cases where function names can be inferred, see the tests file. Review URL: http://codereview.chromium.org/62146 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-