- 26 Nov, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Scopes in V8 are used to guarantee one or more properties during its lifetimes. If a scope is not named e.g MyClassScope(args) instead of MyClassScope scope(args) it will get created and automatically destroyed and therefore, being useless as a scope. This CL would produce a compiling warning when that happens to ward off this developer error. Follow-up to ccrev.com/2552415 in which it was introduced and implemented for Guard classes. Change-Id: Ifa0fb89cc3d9bdcdee0fd8150a2618af5ef45cbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555001 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#71425}
-
- 06 Nov, 2020 1 commit
-
-
Nico Hartmann authored
Bug: v8:11074 Change-Id: I6d58d523254915a6b0d6542d8f80ddc6cee71dee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2520907Reviewed-by:
Zhi An Ng <zhin@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#71003}
-
- 28 Nov, 2019 1 commit
-
-
Jakob Gruber authored
This is an initial (and partial) step towards full typing in graph assembler. It removes all uses of SloppyTNode, starts to introduce types in the GraphAssembler base class, and makes lambda function types (for if- and for-builders) more specific. Plenty of TODOs remain; e.g. checked casts and complete typing of GraphAssembler are left to follow-up work. Bug: v8:9972 Change-Id: I780adf83b53ad76beda4726960d95ab6df13e2ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940476 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65241}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 29 Mar, 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 compiler code to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: I3baf3ecbfe2c853cb17bb479ebbf140382193b5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545896 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60527}
-
- 17 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I7d885f0e2ba3cdf97de190166dc4cdd24dc0c11e Reviewed-on: https://chromium-review.googlesource.com/1224091 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55956}
-
- 12 Jun, 2017 1 commit
-
-
Clemens Hammacher authored
Variadic template FTW! R=mstarzinger@chromium.org BUG=v8:6474 Change-Id: I0585e25e861e8a2fcd29501872edd6b0dd494302 Reviewed-on: https://chromium-review.googlesource.com/529188Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#45836}
-
- 10 May, 2017 1 commit
-
-
bmeurer authored
For small arrays, it's way faster to just move the elements instead of doing the fairly complex and heavy-weight left-trimming. Crankshaft has had this optimization for small arrays already; this CL more or less ports this functionality to TurboFan, which yields a 4x speed-up when using shift on small arrays (with up to 16 elements). This should recover some of the regressions reported in the Node.js issues https://github.com/nodejs/node/issues/12657 and discovered for the syncthrough module using https://github.com/mcollina/syncthrough/blob/master/benchmarks/basic.js as benchmark. R=jarin@chromium.org BUG=v8:6376 Review-Url: https://codereview.chromium.org/2874453002 Cr-Commit-Position: refs/heads/master@{#45216}
-
- 25 Feb, 2017 1 commit
-
-
bbudge authored
- Renames Create ops to Splat. - Adds machine operators to initialize all SIMD machine types. Boolean vector types may need initialization, so provide zero operators. LOG=N BUG=v8:4124,695330 Review-Url: https://codereview.chromium.org/2719483002 Cr-Commit-Position: refs/heads/master@{#43430}
-
- 26 Jan, 2017 1 commit
-
-
bbudge authored
- Adds Int16x8, Int8x16 types. - Adds neg, abs unary ops. - Adds add, sub, mul, and signed / unsigned min / max, comparison ops. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2638133002 Cr-Commit-Position: refs/heads/master@{#42674}
-
- 25 Oct, 2016 1 commit
-
-
mtrofin authored
Simple "Print" API for the compiler graph. BUG= Review-Url: https://codereview.chromium.org/2447993002 Cr-Commit-Position: refs/heads/master@{#40571}
-
- 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}
-
- 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}
-
- 25 May, 2016 1 commit
-
-
bmeurer authored
Previously we first created a temporary graph for the inlinee and then copied over all the nodes to the actual graph. This however introduces unnecessary complexity, and we can instead just create the inlinee inside the target graph. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2006353003 Cr-Commit-Position: refs/heads/master@{#36508}
-
- 02 Feb, 2016 1 commit
-
-
danno authored
After this change, the functionality of the CodeStubAssembler should be sufficient to generate non-trivial stubs (e.g. the KeyedLoadIC) with control flow, variables and probing of internal meta data structures. Specifically this patch: * introduces a Label class, which allows stubs to construct graphs that don't have linear control graphs. * introduces a Variable class. Variables can be bound to Node* values at different points in a non-linear control flow graph. In conjunction with the Label machinery, the CodeStubAssembler ensures that Phi nodes are inserted at the "minimal" set of merge points. * adds Tail calling support to other Stubs and to any arbitrary code whose interface can be described by a CallInterfaceDescriptor. * provides new macros for accessing FixedArray elements that are optimized for use with Smi values. Review URL: https://codereview.chromium.org/1649723002 Cr-Commit-Position: refs/heads/master@{#33664}
-
- 14 Jan, 2016 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1583153003 Cr-Commit-Position: refs/heads/master@{#33295}
-
- 23 Sep, 2015 3 commits
-
-
jarin authored
(Original CL: https://codereview.chromium.org/1347353003/) Unfortunately, the mips gcc gets confused by arraysize on variadic templated arguments, so we use sizeof... instead. Review URL: https://codereview.chromium.org/1366543003 Cr-Commit-Position: refs/heads/master@{#30880}
-
machenbach authored
Revert of [turbofan] Checking of input counts on node creation (patchset #4 id:60001 of https://codereview.chromium.org/1347353003/ ) Reason for revert: [Sheriff] Breaks mips cross-compile: http://build.chromium.org/p/client.v8/builders/V8%20Mips%20-%20builder/builds/4315 Original issue's description: > [turbofan] Checking of input counts on node creation > > This required fixing bunch of tests with wrong input counts. > > Committed: https://crrev.com/260ec46efd74c45cdc4b156d95086b7de06621ad > Cr-Commit-Position: refs/heads/master@{#30877} TBR=bmeurer@chromium.org,mstarzinger@chromium.org,jarin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1362783004 Cr-Commit-Position: refs/heads/master@{#30878}
-
jarin authored
This required fixing bunch of tests with wrong input counts. Review URL: https://codereview.chromium.org/1347353003 Cr-Commit-Position: refs/heads/master@{#30877}
-
- 19 Jun, 2015 1 commit
-
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1196613003 Cr-Commit-Position: refs/heads/master@{#29149}
-
- 17 Jun, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1187263003 Cr-Commit-Position: refs/heads/master@{#29088}
-
- 12 Jun, 2015 1 commit
-
-
bmeurer authored
Up until now we used int32_t for NodeId, but that was not ideal because negative values are invalid for NodeId and we use it as an array index for example in the NodeMarker class, where C++ compilers on x64 have to generate code that does proper sign extension for the indices, which is completely unnecessary. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1178403004 Cr-Commit-Position: refs/heads/master@{#28997}
-
- 01 Jun, 2015 1 commit
-
-
bmeurer authored
This is basically a port of the majority of optimizations that are applied to for-in in full codegen. But it is not done during graph building, but instead during typed lowering, which way less adhoc than what the other compilers do. Review URL: https://codereview.chromium.org/1155313008 Cr-Commit-Position: refs/heads/master@{#28726}
-
- 23 Apr, 2015 1 commit
-
-
bmeurer authored
Now all nodes that care about deoptimization always take frame state inputs no matter whether deoptimization is enabled for a particular function. In case that deoptimization is off, the AstGraphBuilder just inserts the empty frame state. This greatly simplifies the logic in various places and makes testing easier as well, and is probably the first step towards enabling --turbo-deoptimization by default. There seems to be no noticable performance impact on asm.js programs. Also fix the graph replay in order to regenerate the scheduler unittests. Review URL: https://codereview.chromium.org/1106613003 Cr-Commit-Position: refs/heads/master@{#28026}
-
- 05 Feb, 2015 1 commit
-
-
danno authored
Make sure the initial graph is fully populated with source position information and automatically propagate that information down through newly allocated nodes during reduction passes in the most unobtrusive way that's currently possible. Review URL: https://codereview.chromium.org/897883002 Cr-Commit-Position: refs/heads/master@{#26459}
-
- 07 Jan, 2015 1 commit
-
-
bmeurer authored
- Move NodeMarker to its own file, and introduce a non templatized base class. - Cleanup the include hell. - Sanitize the Node construction methods now that we got rid of that GenericNode/GenericGraph stuff. - Protect against NodeId overflow in Graph. - Various minor cleanups. TEST=cctest,mjsunit,unittests Review URL: https://codereview.chromium.org/838783002 Cr-Commit-Position: refs/heads/master@{#25977}
-
- 12 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
- Decouple JSBuiltinReducer from JSTypedLowering. - Unify JSTypedLowering::ReduceJSToXXX() lowering. - Cleanup several includes and forward declarations. - Unify helper methods. TEST=cctest R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/797903003 Cr-Commit-Position: refs/heads/master@{#25790}
-
- 02 Dec, 2014 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/760493003 Cr-Commit-Position: refs/heads/master@{#25620}
-
- 28 Nov, 2014 3 commits
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/767733002 Cr-Commit-Position: refs/heads/master@{#25569}
-
Ben L. Titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/768763002 Cr-Commit-Position: refs/heads/master@{#25567}
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/752263003 Cr-Commit-Position: refs/heads/master@{#25565}
-
- 20 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
This issue is for discussion on how to proceed. I think the implementation of ValueOf shows that directly creating the IR does not scale. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/612043003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2014 1 commit
-
-
rossberg@chromium.org authored
- Extend verifier to check types of JS and Simplified nodes. - Untyped nodes now contain NULL as types, enforcing hard failure. - Typer immediately installs itself as a decorator; remove explicit decorator installation. - Decorator eagerly types all nodes that have typed inputs (subsumes typing of constant cache, removing its typing side-channel and various spurious dependencies on the typer). - Cut down typer interface to prevent inconsistently typed graphs. - Remove verification from start, since it caused too much trouble with semi-wellformed nodes. - Fix a couple of bugs on the way that got uncovered. To do: verifying machine operators. Also, various conditions in the verifier are currently commented out, because they don't yet hold. BUG= R=jarin@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/658543002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Also get rid of the DeleteNode and ChangeOperator methods in Graph. TEST=compiler-unittests,cctest,mjsunit R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/540863002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2014 2 commits
-
-
titzer@chromium.org authored
to use with Zone. For example, subclasses add constructors that wrap a Zone in a zone_allocator to save clients this verbosity. R=bmeurer@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/505133003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Our own ARRAY_SIZE() was pretty bad at error checking. If you use arrasize() in a wrong way, the compiler will issue an error instead of silently doing the wrong thing. The previous ARRAY_SIZE() macro is still available as ARRAYSIZE_UNSAFE() similar to Chrome. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/501323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 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 Jul, 2014 1 commit
-
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/426233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-