- 20 Jan, 2016 1 commit
-
-
danno authored
The motivation for this is that CompilationInfo really shouldn't explicitly know anything about CodeStubs. This is evident in the TurboFan stubs pipeline, which only needs to pass down information about Code::Flags to the code generator and not any of the CallInterfaceDescriptor silliness that Hydrogen has to push around, since TF has the Linkage class that encapsulates everything that is needed for the stub ABI. So, instead of threading CodeStub machinery through the TF stub pipeline, it is now removed from CompilationInfo and replaced by only the explicit bits needed both by the Crankshaft and TF pipelines in code generation. Review URL: https://codereview.chromium.org/1604543002 Cr-Commit-Position: refs/heads/master@{#33410}
-
- 09 Dec, 2015 1 commit
-
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-
- 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}
-
- 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 Oct, 2015 1 commit
-
-
mstarzinger authored
This moves all cctest files for the compiler to live in the same namespace as the components they are testing. Hence we can avoid the forbidden using directives pulling in entire namespaces. From the Google C++ style guide: "You may not use a using-directive to make all names from a namespace available". This would be covered by presubmit linter checks if build/namespaces were not blacklisted. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1424943004 Cr-Commit-Position: refs/heads/master@{#31671}
-
- 28 Oct, 2015 1 commit
-
-
mstarzinger authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1408283006 Cr-Commit-Position: refs/heads/master@{#31630}
-
- 16 Oct, 2015 1 commit
-
-
mstarzinger authored
This fixes the lifetime of nodes created by JSGlobalSpecialization that contain a simplified operator. In the case where this reducer runs as part of the inliner, the SimplifiedOperatorBuilder was instantiated with the wrong zone. This led to use-after-free of simplified operators. To avoid such situations in the future, we decided to move this operator builder into the JSGraph and make the situation uniform with all other operator builders. R=bmeurer@chromium.org BUG=chromium:543528 LOG=n Review URL: https://codereview.chromium.org/1409993002 Cr-Commit-Position: refs/heads/master@{#31334}
-
- 31 Aug, 2015 1 commit
-
-
mstarzinger authored
The usage of Unique<T> throughout the TurboFan IR does not have any advantage. There is no single point in time when they are initialized and most use-sites looked through to the underlying Handle<T> anyways. Also there already was a mixture of Handle<T> versus Unique<T> in the graph and this unifies the situation to use Handle<T> everywhere. R=bmeurer@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1314473007 Cr-Commit-Position: refs/heads/master@{#30458}
-
- 10 Aug, 2015 1 commit
-
-
bmeurer authored
TurboFan is now a requirement and supported by all backends, so we don't need those macros (plus all the machinery on top) anymore. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1282763002 Cr-Commit-Position: refs/heads/master@{#30082}
-
- 08 Jul, 2015 3 commits
-
-
danno authored
- Add a TurboFanIC class, derived from TurboFanCodeStub, that automatically distinguishes between versions of the IC called from optimized and unoptimized code. - Add appropriate InterfaceDescriptors for both the versions of the stub called from unoptimized and optimized code - Change the MathFloor TF stub generator to output either the for-optimized or for-unoptimized version based on the minor_key parameter. Committed: https://crrev.com/8f13b655b8a10dae2116dd18b32f09337bb2d410 Cr-Commit-Position: refs/heads/master@{#29534} Review URL: https://codereview.chromium.org/1225943002 Cr-Commit-Position: refs/heads/master@{#29539}
-
danno authored
Revert of Add unoptimized/optimized variants of MathFloor TF code stub (patchset #4 id:60001 of https://codereview.chromium.org/1225943002/) Reason for revert: Failure on compiling runtime.js on windows Original issue's description: > Add unoptimized/optimized variants of MathFloor TF code stub > > - Add a TurboFanIC class, derived from TurboFanCodeStub, that > automatically distinguishes between versions of the IC called from > optimized and unoptimized code. > - Add appropriate InterfaceDescriptors for both the versions of the > stub called from unoptimized and optimized code > - Change the MathFloor TF stub generator to output either the > for-optimized or for-unoptimized version based on the minor_key > parameter. > > Committed: https://crrev.com/8f13b655b8a10dae2116dd18b32f09337bb2d410 > Cr-Commit-Position: refs/heads/master@{#29534} TBR=mvstanton@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1220783006 Cr-Commit-Position: refs/heads/master@{#29535}
-
danno authored
- Add a TurboFanIC class, derived from TurboFanCodeStub, that automatically distinguishes between versions of the IC called from optimized and unoptimized code. - Add appropriate InterfaceDescriptors for both the versions of the stub called from unoptimized and optimized code - Change the MathFloor TF stub generator to output either the for-optimized or for-unoptimized version based on the minor_key parameter. Review URL: https://codereview.chromium.org/1225943002 Cr-Commit-Position: refs/heads/master@{#29534}
-
- 06 Jul, 2015 1 commit
-
-
bmeurer authored
The value output count for Start is currently off by 1 for code stubs, because the CommonOperatorBuilder hardcodes the receiver parameter. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1217553005 Cr-Commit-Position: refs/heads/master@{#29490}
-
- 26 May, 2015 1 commit
-
-
bmeurer authored
This simplifies the handling of the End node. Based on this CL we will finally fix terminating every loop from the beginning (via Terminate nodes) and fix inlining of Throw, Deoptimize and Terminate. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1157023002 Cr-Commit-Position: refs/heads/master@{#28620}
-
- 21 May, 2015 1 commit
-
-
svenpanne authored
Currently the stub simply calls out to the runtime, this will be improved in a later CLs. The current state at least avoids bit-rot and later merging horror. Fixes frame construction logic for stubs, too, and contains quite a few tiny cleanups in stub-land. Review URL: https://codereview.chromium.org/1150673002 Cr-Commit-Position: refs/heads/master@{#28555}
-
- 20 May, 2015 1 commit
-
-
mvstanton authored
Also removed ornamentation like "VectorRaw" from stub names. BUG= Review URL: https://codereview.chromium.org/1144063002 Cr-Commit-Position: refs/heads/master@{#28516}
-
- 11 May, 2015 1 commit
-
-
danno authored
This stub will be used as the basis of a Math.floor-specific CallIC to detect and track calls to floor that return -0. Along the way: - Create a TurboFanCodeStub super class from which the StringLength and MathRound TF stubs derive. - Fix the ugly hack that passes the first stub parameter as the "this" pointer in the the TF-compiled JS function. - Fix bugs in the ia32/x64 disassembler. Review URL: https://codereview.chromium.org/1137703002 Cr-Commit-Position: refs/heads/master@{#28339}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 24 Mar, 2015 1 commit
-
-
mstarzinger authored
This removes the CompilationInfoWithZone class from the header file because it is more than a pure convenience class and shouldn't be used outside of the compiler at all. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1000353004 Cr-Commit-Position: refs/heads/master@{#27411}
-
- 18 Mar, 2015 1 commit
-
-
svenpanne authored
Review URL: https://codereview.chromium.org/1010673004 Cr-Commit-Position: refs/heads/master@{#27268}
-
- 27 Feb, 2015 1 commit
-
-
svenpanne authored
For now we just use the RawMachineAssembler, this will be changed later to use the whole TurboFan pipeline. Review URL: https://codereview.chromium.org/925373002 Cr-Commit-Position: refs/heads/master@{#26902}
-