- 26 Jun, 2017 1 commit
-
-
georgia.kouveli authored
Port c15b3ffc and 6a99238b to arm64. This reduces the snapshot size for arm64 by about 5.5%. BUG= Review-Url: https://codereview.chromium.org/2937413002 Cr-Commit-Position: refs/heads/master@{#46214}
-
- 23 Jun, 2017 2 commits
-
-
Michael Starzinger authored
This removes the --turbo flag and solely relies on the filter pattern provided via --turbo-filter when deciding whether to use TurboFan. Note that disabling optimization wholesale can still be done with --no-opt, which should be used in favor of --no-turbo everywhere. Also note that this contains semantic changes to the TurboFan activation criteria. We respect the filter pattern more stringently and no longer activate TurboFan just because the source contains patterns forcing use of Ignition via {AstNumberingVisitor::DisableFullCodegenAndCrankshaft}. R=rmcilroy@chromium.org BUG=v8:6408 Change-Id: I0c855f6a62350eb62283a3431c8cc1baa750950e Reviewed-on: https://chromium-review.googlesource.com/528121Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46167}
-
Tobias Tebbi authored
Async generator yield* is still desugared in the parser, to be moved to the BytecodeGenerator in a future CL. Bug: v8:6472 Change-Id: I8b33e2f9e931949f7375540099cd8ec3a6b27cf1 Reviewed-on: https://chromium-review.googlesource.com/539335 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46165}
-
- 22 Jun, 2017 1 commit
-
-
Michael Starzinger authored
This switches all uses of the patching {BinaryOpICStub} over to the respective existing and non-patching CSA-builtins, and removes some supporting code. It also removes the inlined SMI handling. R=verwaest@chromium.org BUG=v8:6408 Change-Id: If547c0127bfcafbd01ccb33b702b1868006ebcb1 Reviewed-on: https://chromium-review.googlesource.com/541398 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46122}
-
- 21 Jun, 2017 2 commits
-
-
Adam Klein authored
This will make it easier if we want to split it into two intrinsics, one for creating an object with `done == true` and one with `done == false`. Also remove apparently-dead method FullCodegen::EmitCreateIteratorResult. Bug: v8:6408, v8:6409 Change-Id: I3d6022a9eff517dd8b664d65950502c22447b364 Reviewed-on: https://chromium-review.googlesource.com/543567Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46107}
-
Michael Starzinger authored
This switches all uses of the patching {ToBooleanICStub} over to the existing and non-patching {ToBoolean} CSA-builtin, and removes some supporting code. R=verwaest@chromium.org BUG=v8:6408 Change-Id: Iab60c95e6b54e426408390e056b679f6227e7ce0 Reviewed-on: https://chromium-review.googlesource.com/539576Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46089}
-
- 20 Jun, 2017 1 commit
-
-
mvstanton authored
These are no longer being used. BUG=v8:6408 Review-Url: https://codereview.chromium.org/2944013002 Cr-Commit-Position: refs/heads/master@{#46024}
-
- 19 Jun, 2017 1 commit
-
-
Michael Starzinger authored
This removes both {BailoutId} as well as {TypeFeedbackId} numbers from almost all AST nodes. The only exception are {IterationStatement} nodes which still require an ID for on-stack replacement support. R=verwaest@chromium.org BUG=v8:6409 Change-Id: I5f7b7673ae5797b9cbc9741144d304f0d31d4446 Reviewed-on: https://chromium-review.googlesource.com/538792 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#45991}
-
- 14 Jun, 2017 3 commits
-
-
Michael Starzinger authored
This removes support for reconstructing stack frames for full-codegen from the deoptimizer. We no longer deoptimize to such code. This also allows us to remove the {DeoptimizationOutputData} data structure. R=jarin@chromium.org BUG=v8:6409 Change-Id: Id28ef05aa985b6877b5c91926a7d7d0d6d6e661d Reviewed-on: https://chromium-review.googlesource.com/535537Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45943}
-
Michael Starzinger authored
This removes the ability to prepare bailout points in code generated by the {FullCodeGenerator}. Such code is no longer used as the target of deoptimization attempts, hence storing deoptimization data is obsolete. R=jarin@chromium.org BUG=v8:6409 Change-Id: I3200182a6e88014ce953881fa0d1ac0bc65ee424 Reviewed-on: https://chromium-review.googlesource.com/533153Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45939}
-
jgruber authored
This completes refactoring started in 0a355777. Bug: v8:6474 Change-Id: Ia2ea66e10e4f1d55551fe145f67f4021ae254b23 Reviewed-on: https://chromium-review.googlesource.com/532997 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#45934}
-
- 13 Jun, 2017 1 commit
-
-
Leszek Swirski authored
With the deprecation of Crankshaft, it's no longer necessary for FullCodeGen to keep track of its runtime profiler ticks on the code object, and we can instead unify the behaviour of FCG and Ignition to both increment the SFI counter instead. Bug: v8:6408 Change-Id: Idcdd673aa39af06fe15a0fc14dfda2afafb5e417 Reviewed-on: https://chromium-review.googlesource.com/528117Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45892}
-
- 12 Jun, 2017 1 commit
-
-
Jakob Gruber authored
Callables for TF builtins are autogenerated and accessible through Builtins::CallableFor. This removes the manually written accessors from CodeFactory. Bug: v8:6474,v8:5737 Change-Id: I9d8dec97995471c1bb258147220c190bf72e5de8 Reviewed-on: https://chromium-review.googlesource.com/530745Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45839}
-
- 06 Jun, 2017 1 commit
-
-
georgia.kouveli authored
Inline SMI checks in ICs are performed with a TBZ/TBNZ instruction, which has a 32 kB range. To allow patching the SMI check, the location of the TBZ/TBNZ instruction is stored after the call to the IC using a MOVZ instruction, in particular using 11 bits of the immediate (so the number of instructions between the inline data and the SMI check must be encodable in 11 bits). To make sure we do not exceed these ranges, we need to block pool emission between the check, the patch info, and the label the check branches to. BUG= Review-Url: https://codereview.chromium.org/2917403002 Cr-Commit-Position: refs/heads/master@{#45735}
-
- 01 Jun, 2017 1 commit
-
-
georgia.kouveli authored
This fixes an issue with ful-codegen where code target entries for the OSR check were being incorrectly shared. We now explicitly disable sharing of code target constant pool entries for full-codegen and for calls to builtins from WASM code, using a scope. BUG=chromium:725743 Review-Url: https://codereview.chromium.org/2922433002 Cr-Commit-Position: refs/heads/master@{#45661}
-
- 31 May, 2017 1 commit
-
-
jgruber authored
BUG=v8:5737 Review-Url: https://codereview.chromium.org/2913783002 Cr-Commit-Position: refs/heads/master@{#45629}
-
- 22 May, 2017 1 commit
-
-
Jochen Eisinger authored
R=danno@chromium.org CC=sshruthi@chromium.org TBR=verwaest@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,rossberg@chromium.org Change-Id: I32e09193fa6e847ac3336eab62b6d85c46d71164 Reviewed-on: https://chromium-review.googlesource.com/509508 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#45447}
-
- 18 May, 2017 1 commit
-
-
Camillo Bruni authored
Change-Id: I4b19700b613f81601321a336cc758cfd7f826f3e Reviewed-on: https://chromium-review.googlesource.com/504347Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45390}
-
- 12 May, 2017 1 commit
-
-
ivica.bogosavljevic authored
Add Miran Karic and Dusan Simicic Remove Paul Lind, Gergely Kis, Akos Palfi, Balasz Kilvady and Dusan Milosavljevic NOTRY=true Review-Url: https://codereview.chromium.org/2881493003 Cr-Commit-Position: refs/heads/master@{#45273}
-
- 08 May, 2017 1 commit
-
-
Adam Klein authored
This patch expands scope analysis to skip hole initialization when it can be determined statically that no hole checks will be generated at runtime. Two conditions must be met to safely eliminate hole initialization: - There must not exist a VariableProxy referencing this Variable whose HoleCheckMode is kRequired - The Variable must be stack allocated; any other allocation implies that it may be accessed from not-yet-analyzed scopes (other modules, inner functions, or eval code) and that code may require hole checks. The new logic required removing debug code in full-codegen which is now incorrect in some cases. Also fixed Variable's bitfield helpers to take no more space than needed. Bug: chromium:651637 Change-Id: Ie5ac326af4e05b7a5c3c37cd4d0afba6a51a504d Reviewed-on: https://chromium-review.googlesource.com/494006 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45170}
-
- 28 Apr, 2017 1 commit
-
-
Camillo Bruni authored
Bug: v8:6325 Change-Id: I20f59cfd4f309f456ff95aa8eb0aa4c8f9a55da6 Reviewed-on: https://chromium-review.googlesource.com/490066Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#44967}
-
- 20 Apr, 2017 2 commits
-
-
Ilija.Pavlovic authored
For MIPS64, many load/store operations from/to memory emit more then one instruction. This is the reason for moving them from assembler to macro-assembler. TEST= BUG= Review-Url: https://codereview.chromium.org/2829073002 Cr-Commit-Position: refs/heads/master@{#44746}
-
jkummerow authored
So that we can delete object properties without a runtime call. The builtin implements a few fast paths (for now only deletion of dictionary properties), and calls the runtime for all other cases. Review-Url: https://codereview.chromium.org/2810363003 Cr-Commit-Position: refs/heads/master@{#44740}
-
- 13 Apr, 2017 1 commit
-
-
georgia.kouveli authored
This option doesn't work for ARM any more. BUG= Review-Url: https://codereview.chromium.org/2816703002 Cr-Commit-Position: refs/heads/master@{#44646}
-
- 11 Apr, 2017 1 commit
-
-
gsathya authored
This patch implements the runtime semantics of dynamic import. We create a new ASTNode so that we can pass the JSFunction closure() to the runtime function from which we get the script_url. d8 implements the embedder logic required to load and evaluate the modules. The API is mostly implemented as specified. BUG=8:5785 Review-Url: https://codereview.chromium.org/2703563002 Cr-Commit-Position: refs/heads/master@{#44551}
-
- 28 Mar, 2017 1 commit
-
-
Andreas Haas authored
In a recent CL (https://codereview.chromium.org/2738683003) I changed the generation of call instructions on arm to emit a constant pool if necessary. However it can happen now that a call is generated within a PredictableSizeScope, which causes a crash if a constant pool is actually emitted, which naturally changes the size of the generated code. With this CL I add a flag to the generation of a call where we can state explicitly that for particular calls, i.e. those calls within a PredictableSizeScope, we do not want to emit a constant pool. BUG=chromium:704528 Change-Id: I7740d5440d007a2a5457c524aa8eec1b74944d57 Reviewed-on: https://chromium-review.googlesource.com/459602Reviewed-by: Jacob Bramley <jacob.bramley@arm.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44181}
-
- 24 Mar, 2017 2 commits
-
-
Jochen Eisinger authored
This reverts commit f20261bf. Reason for revert: We need the GetMapConstructor instruction for CallApiCallbackStub Original change's description: > Remove ClassOf intrinsic from FCG and CS > > I plan to change the constructor field of maps, and instead of patching > the intrinsics all over the place, just fall back to the runtime. > > R=bmeurer@chromium.org > BUG=v8:6084 > > Change-Id: Ie294b74ab615fd794d7fc47488e2e30e2b49b4db > Reviewed-on: https://chromium-review.googlesource.com/454616 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Jochen Eisinger <jochen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#43765} TBR=jochen@chromium.org,bmeurer@chromium.org,adamk@chromium.org,hablich@chromium.org,v8-reviews@googlegroups.com,v8-mips-ports@googlegroups.com,v8-ppc-ports@googlegroups.com,v8-x87-ports@googlegroups.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG=v8:6084 Change-Id: I06f60d409eccb4ad3abad14f5c9782bfe9122aea Reviewed-on: https://chromium-review.googlesource.com/458379Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44106}
-
Igor Sheludko authored
The former will handle stores to global variables, lets and undeclared variables. The latter will handle named stores to explicit receiver. BUG=chromium:576312, v8:5561 Change-Id: I335fa21db47c3d001da8cc79fa8cb6f8abcbb7e2 Reviewed-on: https://chromium-review.googlesource.com/458639Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#44085}
-
- 22 Mar, 2017 1 commit
-
-
Caitlin Potter authored
While the primary use-case for Suspend nodes is the Yield expression, there are other uses as well: Await expressions, and the initial suspend of Generators, which returns an object matching the Iterator protocol. "Suspend" is a better representation of the spec text (closer to the spec text for the values of [[GeneratorState]] and [[AsyncGeneratorState]]), and can make it easier to understand the meaning of what I had previously called Yield::is_normal() (now Suspend::is_yield()). Changes requested as part of https://chromium-review.googlesource.com/c/447117/ BUG= R=neis@chromium.org, adamk@chromium.org TBR=bmeurer@chromium.org, paul.lind@imgtec.com, joransiu@ca.ibm.com, weiliang.lin@intel.com Change-Id: Ic6f15b04fff091c20f26526391b967287c06f6bf Reviewed-on: https://chromium-review.googlesource.com/455583Reviewed-by: Caitlin Potter <caitp@igalia.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#44038}
-
- 21 Mar, 2017 2 commits
-
-
jyan authored
R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com Review-Url: https://codereview.chromium.org/2761953002 Cr-Commit-Position: refs/heads/master@{#43998}
-
jkummerow authored
BUG=v8:6055 Review-Url: https://codereview.chromium.org/2760953002 Cr-Commit-Position: refs/heads/master@{#43975}
-
- 15 Mar, 2017 2 commits
-
-
Ross McIlroy authored
Adds a TestTypeof bytecode to deal with comparisons of the form: typeof(object) === 'string'; Also adds support to Turbofan to perform these comparisons without inserting checkpoints. BUG=v8:4280,v8:5267 Change-Id: Ib5cc1c6816dfe70a4120838d8eada2fc0267750f Reviewed-on: https://chromium-review.googlesource.com/454837Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43832}
-
Marja Hölttä authored
BUG=v8:5294 Change-Id: I6214c50c7d1344210a80763b066e5ec56df1265a Reviewed-on: https://chromium-review.googlesource.com/453460 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#43820}
-
- 14 Mar, 2017 1 commit
-
-
Jochen Eisinger authored
I plan to change the constructor field of maps, and instead of patching the intrinsics all over the place, just fall back to the runtime. R=bmeurer@chromium.org BUG=v8:6084 Change-Id: Ie294b74ab615fd794d7fc47488e2e30e2b49b4db Reviewed-on: https://chromium-review.googlesource.com/454616Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#43765}
-
- 28 Feb, 2017 1 commit
-
-
Marja Hölttä authored
The x64 side is included in https://chromium-review.googlesource.com/c/444226/ BUG=v8:5294 Change-Id: Ie255604c5e38c72e3c2b76e1ca3557a5fde108ee Reviewed-on: https://chromium-review.googlesource.com/446394Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43481}
-
- 23 Feb, 2017 1 commit
-
-
Marja Hölttä authored
BUG=v8:5294 Change-Id: If45f25aae8de526027b7851cb4efe0ccf4a7c4b1 Reviewed-on: https://chromium-review.googlesource.com/444226 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#43388}
-
- 22 Feb, 2017 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2650193002 Cr-Original-Commit-Position: refs/heads/master@{#42892} Committed: https://chromium.googlesource.com/v8/v8/+/eef855a1dc956e9db03ec09abca1d732d379861b Review-Url: https://codereview.chromium.org/2650193002 Cr-Commit-Position: refs/heads/master@{#43360}
-
- 21 Feb, 2017 1 commit
-
-
Michael Lippautz authored
FCG implemented an optimziation which could avoid emitting a memento if the memento was only needed for transitioning. This optimization is currently turned off as we always run with pretenuring. Since this optimization will not be ported to Ignition for now, we just remove the support from FCG. Disabling allocation site pretenuring will then not make FCG and Iginition diverge in their behavior. BUG=chromium:693413 Change-Id: I69aea73426fc69d48e1fe6ed13caaf28f9cfb32f Reviewed-on: https://chromium-review.googlesource.com/445258 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#43345}
-
- 17 Feb, 2017 1 commit
-
-
Igor Sheludko authored
... which is used for initializing properties with non compile time values. Currently we use StoreOwnIC only for storing properties that already exist in the boilerplate therefore we can reuse StoreIC dispatcher. The proper StoreOwnIC dispatcher will be implemented in a separate CL. BUG=v8:5495, v8:4414 Change-Id: I9c33fdb8499ec5be2c7fce1ecb6ce7aa285e5844 Reviewed-on: https://chromium-review.googlesource.com/443588Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43285}
-
- 14 Feb, 2017 1 commit
-
-
bbudge authored
LOG=Y BUG=v8:4124,v8:5948 R=bradnelson@chromium.org,bmeurer@chromium.org,jochen@chromium.org,hpayer@chromium.org,danno@chromium.org Review-Url: https://codereview.chromium.org/2684313003 Cr-Original-Original-Commit-Position: refs/heads/master@{#43162} Committed: https://chromium.googlesource.com/v8/v8/+/d170c57ab996d00c4665a9d865bd5754a1806c6c Review-Url: https://codereview.chromium.org/2684313003 Cr-Original-Commit-Position: refs/heads/master@{#43169} Committed: https://chromium.googlesource.com/v8/v8/+/a9b59a11f1bfe069afabe5567f919727456f1f12 Review-Url: https://codereview.chromium.org/2684313003 Cr-Commit-Position: refs/heads/master@{#43176}
-