- 05 Dec, 2016 1 commit
-
-
leszeks authored
This allows us to optimise the bytecode liveness analysis to jump directly to previously seen indices. The analysis is optimised to store a stack of loop ends (JumpLoop bytecode indices), and iterate through these indices directly rather than looping through the bytecode array to find them. Review-Url: https://codereview.chromium.org/2536653003 Cr-Commit-Position: refs/heads/master@{#41485}
-
- 29 Nov, 2016 3 commits
-
-
leszeks authored
Replaces the graph-based liveness analyzer in the bytecode graph builder with an initial bytecode-based liveness analysis pass, which is added to the existing loop extent analysis. Now the StateValues in the graph have their inputs initialised to optimized_out, rather than being modified after the graph is built. Review-Url: https://codereview.chromium.org/2523893003 Cr-Commit-Position: refs/heads/master@{#41355}
-
leszeks authored
Revert of [ignition/turbo] Perform liveness analysis on the bytecodes (patchset #17 id:320001 of https://codereview.chromium.org/2523893003/ ) Reason for revert: Breaks the build: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/14886 Original issue's description: > [ignition/turbo] Perform liveness analysis on the bytecodes > > Replaces the graph-based liveness analyzer in the bytecode graph builder > with an initial bytecode-based liveness analysis pass, which is added to > the existing loop extent analysis. > > Now the StateValues in the graph have their inputs initialised to > optimized_out, rather than being modified after the graph is built. > > Committed: https://crrev.com/1852300954c216c29cf93444430681d213e87925 > Cr-Commit-Position: refs/heads/master@{#41344} TBR=jarin@chromium.org,rmcilroy@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2541443002 Cr-Commit-Position: refs/heads/master@{#41346}
-
leszeks authored
Replaces the graph-based liveness analyzer in the bytecode graph builder with an initial bytecode-based liveness analysis pass, which is added to the existing loop extent analysis. Now the StateValues in the graph have their inputs initialised to optimized_out, rather than being modified after the graph is built. Review-Url: https://codereview.chromium.org/2523893003 Cr-Commit-Position: refs/heads/master@{#41344}
-
- 22 Nov, 2016 1 commit
-
-
leszeks authored
Now that we have a JumpLoop bytecode, we can heavily simplify the branch/loop analysis by assuming that only JumpLoop bytecodes are backwards edges, and performing the loop analysis as a single (backwards) pass. This allows us to get rid of the branch analysis entirely, and builds a framework to do liveness analysis in the same pass. Review-Url: https://codereview.chromium.org/2519983002 Cr-Commit-Position: refs/heads/master@{#41194}
-
- 12 Oct, 2016 1 commit
-
-
alph authored
Review-Url: https://codereview.chromium.org/2404663002 Cr-Commit-Position: refs/heads/master@{#40237}
-
- 03 Aug, 2016 1 commit
-
-
jochen authored
This will allow for the background parser to parse inner functions BUG=v8:5215 R=marja@chromium.org,verwaest@chromium.org Review-Url: https://codereview.chromium.org/2198043002 Cr-Commit-Position: refs/heads/master@{#38291}
-
- 27 Jul, 2016 1 commit
-
-
fmeawad authored
V8 has had a trace event macro interface for while, but without a tracing controller a standalone V8 would be unable to collect traces. This CL introduces a complete Tracing Controller system for V8. It is fully function except that it does not yet store trace event args. This CL has a few components, The tracing controller itself, contributed by the author of this CL The Trace config (including the parser), contributed by lpy@ The Trace Object, Trace Writer, and Trace Buffer are all contributed by rksang@ BUG=v8:4561 LOG=N The original CL was failing the V8 Arm Builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2456 and the V8 Mips Builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/2506 The failure is due to undefined behavior of CHECK_EQ of 2 const char* Fix in patch #1 Committed: https://crrev.com/3d598452679ce208ad9b2f48e0fb3fae352ce375 Cr-Commit-Position: refs/heads/master@{#38073} patch from issue 2137013006 at patchset 200001 (http://crrev.com/2137013006#ps200001) Review-Url: https://codereview.chromium.org/2183923004 Cr-Commit-Position: refs/heads/master@{#38104}
-
- 26 Jul, 2016 2 commits
-
-
lpy authored
Revert of [Tracing] V8 Tracing Controller (patchset #11 id:200001 of https://codereview.chromium.org/2137013006/ ) Reason for revert: Revert this CL due to V8 Arm Builder failure and V8 Mips Builder failure. https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2456 https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/2506 Original issue's description: > [Tracing] V8 Tracing Controller > > V8 has had a trace event macro interface for while, but without a tracing > controller a standalone V8 would be unable to collect traces. > > This CL introduces a complete Tracing Controller system for V8. > It is fully function except that it does not yet store trace event args. > > This CL has a few components, > The tracing controller itself, contributed by the author of this CL > The Trace config (including the parser), contributed by lpy@ > The Trace Object, Trace Writer, and Trace Buffer are all contributed by rksang@ > > BUG=v8:4561 > LOG=N > > Committed: https://crrev.com/3d598452679ce208ad9b2f48e0fb3fae352ce375 > Cr-Commit-Position: refs/heads/master@{#38073} TBR=jochen@chromium.org,mattloring@google.com,rskang@google.com,yangguo@chromium.org,fmeawad@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4561 Review-Url: https://codereview.chromium.org/2183943002 Cr-Commit-Position: refs/heads/master@{#38074}
-
fmeawad authored
V8 has had a trace event macro interface for while, but without a tracing controller a standalone V8 would be unable to collect traces. This CL introduces a complete Tracing Controller system for V8. It is fully function except that it does not yet store trace event args. This CL has a few components, The tracing controller itself, contributed by the author of this CL The Trace config (including the parser), contributed by lpy@ The Trace Object, Trace Writer, and Trace Buffer are all contributed by rksang@ BUG=v8:4561 LOG=N Review-Url: https://codereview.chromium.org/2137013006 Cr-Commit-Position: refs/heads/master@{#38073}
-
- 15 Jul, 2016 1 commit
-
-
oth authored
> Original issue's description: > [interpreter] Reduce dependencies in bytecodes.{h,cc} > > This CL reduces the number of dependencies bytecodes.{h,cc} to facilitate > generating the bytecode peephole optimizer table during build. Specifically, > it avoids depending on v8_base. > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/4edebb1cd870ae6c1359ad54f83e618e185883b1 > Cr-Commit-Position: refs/heads/master@{#37715} BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2149093002 Cr-Commit-Position: refs/heads/master@{#37794}
-
- 14 Jul, 2016 1 commit
-
-
machenbach authored
Revert of [interpreter] Reduce dependencies in bytecodes.{h,cc} (patchset #8 id:140001 of https://codereview.chromium.org/2135273002/ ) Reason for revert: Breaks the roll, possibly win gn: https://codereview.chromium.org/2148863002/ Original issue's description: > [interpreter] Reduce dependencies in bytecodes.{h,cc} > > This CL reduces the number of dependencies bytecodes.{h,cc} to facilitate > generating the bytecode peephole optimizer table during build. Specifically, > it avoids depending on v8_base. > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/4edebb1cd870ae6c1359ad54f83e618e185883b1 > Cr-Commit-Position: refs/heads/master@{#37715} TBR=mstarzinger@chromium.org,rmcilroy@chromium.org,oth@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review-Url: https://codereview.chromium.org/2151693003 Cr-Commit-Position: refs/heads/master@{#37743}
-
- 13 Jul, 2016 1 commit
-
-
oth authored
This CL reduces the number of dependencies bytecodes.{h,cc} to facilitate generating the bytecode peephole optimizer table during build. Specifically, it avoids depending on v8_base. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2135273002 Cr-Commit-Position: refs/heads/master@{#37715}
-
- 28 Jun, 2016 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org, jgruber@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2095893002 Cr-Commit-Position: refs/heads/master@{#37309}
-
- 18 Apr, 2016 1 commit
-
-
danno authored
This separation is needed to make two goals possible simultaneously: * is should be possible to offer V8 components a simple, clean interface to TurboFan's low-level code generation that doesn't expose details about the TF. * it should be possible to easily create new CodeAssembler "macros" that don't require a review from an OWNER of the compiler directory. Review URL: https://codereview.chromium.org/1875583003 Cr-Commit-Position: refs/heads/master@{#35576}
-
- 17 Mar, 2016 1 commit
-
-
vogelheim authored
(The goal is to have CodeStubAssembler be the sole assembler-like user of the TF compiler pipeline; with RMA being a private implementation detail and FAA being a client.) BUG=chromium:508898 LOG=Y Review URL: https://codereview.chromium.org/1674633002 Cr-Commit-Position: refs/heads/master@{#34852}
-
- 04 Feb, 2016 1 commit
-
-
yangguo authored
This change adds the basic infrastructure to record source positions for bytecode. R=rmcilroy@chromium.org, vogelheim@chromium.org BUG=v8:4960 LOG=N Review URL: https://codereview.chromium.org/1662983002 Cr-Commit-Position: refs/heads/master@{#33726}
-
- 19 Jan, 2016 1 commit
-
-
mlippautz authored
The dust has settled and it can now be used like any other header file R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1605973002 Cr-Commit-Position: refs/heads/master@{#33395}
-
- 17 Dec, 2015 1 commit
-
-
fmeawad authored
This is based on the Skia Implementation. More on the project can be found here: https://docs.google.com/a/chromium.org/document/d/1_4LAnInOB8tM_DLjptWiszRwa4qwiSsDzMkO4tU-Qes/edit#heading=h.p97rw6yt8o2j The V8 Tracing platform will replace the isolate->event_logger(). But since the current embedders (namely chromium) currently use the isolate->event_logger, I made the default implementation (event-tracer) call into isolate->event_logger if an event_logger was set. Once the embedders properly implement the interface (for example in chromium it would look like this: https://codereview.chromium.org/707273005/), the default implementation will be doing nothing. Once the embedders side is fixed, we will change how V8 uses the tracing framework beyond the call from Logger:CallEventLogger. (which would also include a d8 implementation) BUG=v8:4560 LOG=N Review URL: https://codereview.chromium.org/988893003 Cr-Commit-Position: refs/heads/master@{#32959}
-
- 11 Dec, 2015 2 commits
-
-
titzer authored
As discussed in person, this adds the code from v8-native-prototype into V8 proper, guarded by GYP flags that do not build the code by default. Passing wasm=on to 'make' or setting v8_wasm as a GYP flag activates building of this code. An additional header file is added to and exported from the compiler directory, src/compiler/wasm-compiler.h. This exposes a limited interface with opaque Node and Graph types to the decoder to build TF graphs, as well as functions to compile WASM graphs. The mjsunit tests added are blacklisted because they fail without the WASM object exposed to JS, which is also disabled by the build config option. This corresponds closely to https://github.com/WebAssembly/v8-native-prototype/commit/5981e06ebc9b1e578831d03100f17ebb77970ee0, with some formatting fixes and moving some files into src/compiler. R=mstarzinger@chromium.org, bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1504713014 Cr-Commit-Position: refs/heads/master@{#32794}
-
vogelheim authored
... using the RawMachineAssembler and the work in crrev.com/1407313004. The original change collided with crrev.com/1513543003. BUG=chromium:508898 LOG=Y Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 Cr-Commit-Position: refs/heads/master@{#32742} patch from issue 1474543004 at patchset 260001 (http://crrev.com/1474543004#ps260001) Committed: https://crrev.com/ee5c38d7db907ff86dd4049721c0cb4bc90a6c4d Cr-Commit-Position: refs/heads/master@{#32753} patch from issue 1504713012 at patchset 20001 (http://crrev.com/1504713012#ps20001) Review URL: https://codereview.chromium.org/1518703002 Cr-Commit-Position: refs/heads/master@{#32786}
-
- 10 Dec, 2015 4 commits
-
-
vogelheim authored
Revert of Re-land FastAccessorBuilder. (patchset #2 id:20001 of https://codereview.chromium.org/1504713012/ ) Reason for revert: Meeh. Now "V8 Linux - gcmole" bot has issues; apparently due to a somewhat exotic builder configuration. Original issue's description: > Re-land FastAccessorBuilder. > > ... using the RawMachineAssembler and the work in crrev.com/1407313004. > > The original change collided with crrev.com/1513543003. > > BUG=chromium:508898 > LOG=Y > > Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 > Cr-Commit-Position: refs/heads/master@{#32742} > > patch from issue 1474543004 at patchset 260001 (http://crrev.com/1474543004#ps260001) > > Committed: https://crrev.com/ee5c38d7db907ff86dd4049721c0cb4bc90a6c4d > Cr-Commit-Position: refs/heads/master@{#32753} TBR=epertoso@chromium.org,mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:508898 Review URL: https://codereview.chromium.org/1517683002 Cr-Commit-Position: refs/heads/master@{#32754}
-
vogelheim authored
... using the RawMachineAssembler and the work in crrev.com/1407313004. The original change collided with crrev.com/1513543003. BUG=chromium:508898 LOG=Y Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 Cr-Commit-Position: refs/heads/master@{#32742} patch from issue 1474543004 at patchset 260001 (http://crrev.com/1474543004#ps260001) Review URL: https://codereview.chromium.org/1504713012 Cr-Commit-Position: refs/heads/master@{#32753}
-
vogelheim authored
Revert of Implement Fast Accessor Builder (patchset #14 id:260001 of https://codereview.chromium.org/1474543004/ ) Reason for revert: Broke the build, apparently. Original issue's description: > Implement FastAccessorBuilder. > > ... using the RawMachineAssembler and the work in cl/1407313004 > > BUG=chromium:508898 > LOG=Y > > Committed: https://crrev.com/515d9ccd8e6df7bf2ca01e2a55aaad30226399e1 > Cr-Commit-Position: refs/heads/master@{#32742} TBR=epertoso@chromium.org,bmeurer@chromium.org,jochen@chromium.org,mstarzinger@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:508898 Review URL: https://codereview.chromium.org/1513203002 Cr-Commit-Position: refs/heads/master@{#32744}
-
vogelheim authored
... using the RawMachineAssembler and the work in cl/1407313004 BUG=chromium:508898 LOG=Y Review URL: https://codereview.chromium.org/1474543004 Cr-Commit-Position: refs/heads/master@{#32742}
-
- 02 Dec, 2015 1 commit
-
-
danno authored
* Add a sibling interface to InterpreterAssembler called CodeStubAssembler which provides a wrapper around the RawMachineAssembler and is intented to make it easy to build efficient cross-platform code stubs. Much of the implementation of CodeStubAssembler is shamelessly stolen from the InterpreterAssembler, and the idea is to eventually merge the two interfaces somehow, probably moving the InterpreterAssembler interface over to use the CodeStubAssembler. Short-term, however, the two interfaces shall remain decoupled to increase our velocity developing the two systems in parallel. * Implement the StringLength stub in TurboFan with the new CodeStubAssembler. Replace and remove the old Hydrogen-stub version. * Remove a whole slew of machinery to support JavaScript-style code stub generation, since it ultimately proved unwieldy, brittle and baroque. This cleanup includes removing the shared code stub context, several example stubs and a tangle of build file changes. BUG=v8:4587 LOG=n Review URL: https://codereview.chromium.org/1475953002 Cr-Commit-Position: refs/heads/master@{#32508}
-
- 10 Sep, 2015 1 commit
-
-
oth authored
Add skeleton version bytecode-graph-builder.{h,cc} for existing bytecodes. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1291693004 Cr-Commit-Position: refs/heads/master@{#30687}
-
- 20 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1293593005 Cr-Commit-Position: refs/heads/master@{#30265}
-
- 11 Aug, 2015 2 commits
-
-
mstarzinger authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1272933004 Cr-Commit-Position: refs/heads/master@{#30109}
-
mstarzinger authored
This is the first step of turning the v8.h file into a normal header instead of an include-the-world header. The new rule is that no other header files are allowed to include v8.h, which is enforced by DEPS. Also the number of includes inside the v8.h file has been drastically reduced. Basically the last missing piece is the inclusion of the big objects-inl.h file. This in turn makes many headers follow the IWYU principle. R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1282503003 Cr-Commit-Position: refs/heads/master@{#30102}
-
- 10 Aug, 2015 2 commits
-
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1283833002 Cr-Commit-Position: refs/heads/master@{#30093}
-
mstarzinger authored
This is a first step towards constraining down the heap interface to just the heap.h file. Note that many includes still leak through that file to the global "src" directory, but there now is a single place controlling which declarations leak that way. Especially inclusion of inline header files within "heap" has been limited drastically. R=hpayer@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1281233003 Cr-Commit-Position: refs/heads/master@{#30092}
-
- 23 Jul, 2015 1 commit
-
-
rmcilroy authored
Adds basic support for generation of interpreter bytecode handler code snippets. The InterpreterAssembler class exposes a set of low level, interpreter specific operations which can be used to build a Turbofan graph. The Interpreter class generates a bytecode handler snippet for each bytecode by assembling operations using an InterpreterAssembler. Currently only two simple bytecodes are supported: LoadLiteral0 and Return. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1239793002 Cr-Commit-Position: refs/heads/master@{#29814}
-
- 27 Mar, 2015 1 commit
-
-
yangguo authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1041743002 Cr-Commit-Position: refs/heads/master@{#27501}
-
- 01 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
As per discussion on the V8 team, this is the place we want them to live, not following the Chrome Style Guide for this. BUG=v8:3489 LOG=y R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/615393002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
We still need the test/base-unittests folder until the test driver is updated to handle unittests without the boilerplate. TEST=base-unittests R=svenpanne@chromium.org BUG=v8:3489 LOG=n Review URL: https://codereview.chromium.org/520503004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=jochen@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/438243004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2014 1 commit
-
-
jochen@chromium.org authored
Also remove the "use default platform" compile flag. Instead, the embedder has to provide the platform. Change all binaries to use the default platfrom from libplatform. Unless --job-based-sweeping is passed, nothing uses the platform yet, so nothing will break for embedders (yet). BUG=none R=jkummerow@chromium.org LOG=y Review URL: https://codereview.chromium.org/345903004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/312763002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-