- 16 Jan, 2018 14 commits
-
-
Clemens Hammacher authored
This is a cleanup to replace some magic numbers by proper constants. R=titzer@chromium.org Change-Id: I549afc9688f22dd70adeb57746f6ff9ba509092c Reviewed-on: https://chromium-review.googlesource.com/866733Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50609}
-
Ben L. Titzer authored
This CL adds support for the "retpoline" construction on x64 https://support.google.com/faqs/answer/7625886 which protects against speculative execution of indirect calls. R=mstarzinger@chromium.org,jarin@chromium.org CC=eholk@chromium.org Bug: chromium:798964 Change-Id: I2aa5ab9a62dac53c67061378a0bc9cd2026ca7a2 Reviewed-on: https://chromium-review.googlesource.com/867063 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50608}
-
Andreas Haas authored
This is the implementation of crrev.com/c/866721 for arm. Drive-by change: I simplified the slot index calculation. Original description: At the moment the slot index is encoded in the opcode. This, however, sets an upper limit the slot index which is lower than what we want to have (i.e. < 512). With this change we pass the slot index as an immediate operand, which does not impose limits on the value it contains. R=v8-arm-ports@googlegroups.com Change-Id: Ic448872aa1da63f421d569ab5ec9160f36e6652b Reviewed-on: https://chromium-review.googlesource.com/866745Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50607}
-
Clemens Hammacher authored
There is not much missing to support loading and storing f32 values. This CL adds that. R=titzer@chromium.org Bug: v8:6600 Change-Id: If4a21490bfcb9cccec1ba62986a23549b3c857fa Reviewed-on: https://chromium-review.googlesource.com/866711Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50606}
-
Clemens Hammacher authored
Make this a member method of WasmTableObject, because it is pretty coupled with that object anyways, and is always being called together with WasmTableObject::Set or WasmTableObject::AddDispatchTable. It also simplifies another refactoring: https://crrev.com/c/866733 R=titzer@chromium.org Change-Id: I53392fb9cf21f2e45c2a144d180e9b3614657094 Reviewed-on: https://chromium-review.googlesource.com/866933Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50605}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I45ef97a2756f438f03f5d961381624e477680dee Reviewed-on: https://chromium-review.googlesource.com/866497Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#50604}
-
Clemens Hammacher authored
The implementation can be greatly simplified by using variadic templates. R=mstarzinger@chromium.org Change-Id: Ifbda09bc536c9660a83d1888b395e92367c9b03e Reviewed-on: https://chromium-review.googlesource.com/860458Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50603}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I7fa8f1857f338551dd7acd1b25eb7e9feb376576 Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Reviewed-on: https://chromium-review.googlesource.com/866720Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#50602}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I5ad7f9f28be5eb0d8cdc424c0ed5cb41623212e5 Reviewed-on: https://chromium-review.googlesource.com/866505 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50601}
-
Michael Achenbach authored
NOTRY=true TBR=hpayer@chromium.org Bug: v8:7012 Change-Id: I4f1a2468ef60e383480f8ea04d069a43296b30b0 Reviewed-on: https://chromium-review.googlesource.com/866837Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50600}
-
Sigurd Schneider authored
This is a reland of 22d894c8 Original change's description: > [turbofan] Add simplified operator for String.prototype.codePointAt > > This CL adds the simplified operators > StringCodePointAt > SeqStringCodePointAt > and associated lowering. > > Bug: v8:7270 > Change-Id: I5aeefddeec39c3119b2d225e92a3116f802e7b45 > Reviewed-on: https://chromium-review.googlesource.com/861789 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50547} Bug: v8:7270 Change-Id: Ia08d18543fc165fc2312cd393ed51f4ec98d7a58 Reviewed-on: https://chromium-review.googlesource.com/866311Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50599}
-
Michael Achenbach authored
TBR=yangguo@chromium.org NOTRY=true Bug: v8:7302 Change-Id: Ica0f28fc8ce8184ffe8f51d940a77710e98b5d5a Reviewed-on: https://chromium-review.googlesource.com/867039Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50598}
-
Michael Achenbach authored
This adds testing configs to the V8 side, so that they can be deleted on the infra side in a follow up. TBR=yangguo@chromium.org NOTRY=true Bug: v8:7302 Change-Id: I93e65576b9799675ea0a8beca188c84a30695de3 Reviewed-on: https://chromium-review.googlesource.com/867037Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50597}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9e6dcff..cd91c99 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/bac35f5..7854862 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I33f454829dc255215cd9e3063d586c93c2f122af Reviewed-on: https://chromium-review.googlesource.com/867534 Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#50596}
-
- 15 Jan, 2018 26 commits
-
-
Tobias Tebbi authored
Bug: Change-Id: Icf0c43ef5bd3b3d3055d9606f22d3126b31016e3 Reviewed-on: https://chromium-review.googlesource.com/866930 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50595}
-
Michael Lippautz authored
R: hpayer@chromium.org No-try: true Bug: v8:7266 Change-Id: Icc8f254d4f4e7c220cc322b3c98749da5e5ea3e6 Reviewed-on: https://chromium-review.googlesource.com/866831 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50594}
-
Junliang Yan authored
R=joransiu@ca.ibm.com, mtrofin@chromium.org, jbarboza@ca.ibm.com Bug: Change-Id: I89fc3ef038310fa98e957407b44ed524b4f313bd Reviewed-on: https://chromium-review.googlesource.com/818155Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50593}
-
Camillo Bruni authored
Record seperate virtual instance types for boilerplates and their properties and elements. This CL adds: - BOILERPLATE_PROPERTY_ARRAY_TYPE - BOILERPLATE_NAME_DICTIONARY_TYPE - BOILERPLATE_ELEMENTS_TYPE Bug: v8:7266 Change-Id: I2e6643d4bf067aa52eb1950a696b6535b020b097 Reviewed-on: https://chromium-review.googlesource.com/867059 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#50592}
-
Michael Lippautz authored
No-try: true Bug: v8:7266 Change-Id: I981ac5b4be6117bcc46383d033d639cc3b30b617 Reviewed-on: https://chromium-review.googlesource.com/867371Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#50591}
-
Mike Stanton authored
The (numbing) repetition in these tests were leading to errors when writing new tests. Now a function DefineHigherOrderTests() can be used to succinctly describe a test on (mostly) a single line. Change-Id: I70d65ffd784a17bbf0b9ca2de477135c5d901794 Reviewed-on: https://chromium-review.googlesource.com/864144 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#50590}
-
Camillo Bruni authored
Bug: chromium:802040 Change-Id: I887a6e9d06bd1e66e0e8175a7bbb830f693e55ed Reviewed-on: https://chromium-review.googlesource.com/866854Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#50589}
-
Tobias Tebbi authored
Bug: Change-Id: Ic1b6dc6fcd8bfc4f0c3dbb101a38106aa3596a12 Reviewed-on: https://chromium-review.googlesource.com/863886 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50588}
-
Michael Lippautz authored
Visualizes --trace-gc-object-stats output. No-try: true Bug: v8:7266 Change-Id: I5beb15d63e645484f07fe5f2341105c4cfe0b550 Reviewed-on: https://chromium-review.googlesource.com/860580 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#50587}
-
Andreas Haas authored
At the moment the slot index is encoded in the opcode. This, however, sets an upper limit the slot index which is lower than what we want to have (i.e. < 512). With this change we pass the slot index as an immediate operand, which does not impose limits on the value it contains. R=titzer@chromium.org Change-Id: Iab676186f41b8174bcc6c5a6053e6b0d5640ed3c Reviewed-on: https://chromium-review.googlesource.com/866721 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50586}
-
Andreas Haas authored
This is the implementation of crrev.com/c/766371 for arm64. Original description: Add the ability to return (multiple) return values on the stack: - Extend stack frames with a new buffer region for return slots. This region is located at the end of a caller's frame such that its slots can be indexed as caller frame slots in a callee (located beyond its parameters) and assigned return values. - Adjust stack frame constructon and deconstruction accordingly. - Extend linkage computation to support register plus stack returns. - Reserve return slots in caller frame when respective calls occur. - Introduce and generate architecture instructions ('peek') for reading back results from return slots in the caller. - Aggressive tests. - Some minor clean-up. R=v8-arm-ports@googlegroups.com Change-Id: I6e344a23f359861c9a1ff5a6511651c2176ce9a8 Reviewed-on: https://chromium-review.googlesource.com/842545Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50585}
-
Michael Achenbach authored
Also sort all variants in configuration mapping. Bug: v8:7285 Change-Id: I2d3032b911e48c34557e47e50345fb29da7bbe85 Reviewed-on: https://chromium-review.googlesource.com/866502Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50584}
-
Pierre Langlois authored
On Arm64, the 31 encoding refers to either the zero register or the stack pointer depending on the instruction. However, in order to distinguish them in the assembler, the stack pointer has an internal code which isn't 31. As a result, we need to use the internal code when converting a Register to a DWARF code. Bug: v8:6644 Change-Id: If8a6b6c94badd7d10c22664c7081733258b07a31 Reviewed-on: https://chromium-review.googlesource.com/866870Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#50583}
-
Michael Achenbach authored
Bug: v8:7264 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I0c07c92955c0b6c145c7b72e5014f828eaf59c9a Reviewed-on: https://chromium-review.googlesource.com/865903Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50582}
-
Michael Starzinger authored
This fixes a corner-case in the {NativeModuleSerializer} with modules that do not contain any functions in the code table. R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-801850 BUG=chromium:801850 Change-Id: I30cc3a26f30d8653fba2d7b99715830d12300ac2 Reviewed-on: https://chromium-review.googlesource.com/866773Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50581}
-
Sigurd Schneider authored
Change-Id: Idae3ceb3f8de79ab94ccaa1961d025242a51714d Reviewed-on: https://chromium-review.googlesource.com/866715Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50580}
-
sreten.kovacevic authored
Change-Id: Ic434384f1f7d14c7117db2f5f42be36a1e861ef4 Reviewed-on: https://chromium-review.googlesource.com/866744Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50579}
-
peterwmwong authored
- Remove CSA fallback to runtime for overlap cases - Move overlap handling from runtime into elements.cc Depending on typed array size (and overlap size), quick measurements show a 4.3x - 8x improvement. This fixes large >5x performance cliff between overlap and non-overlap cases. https://github.com/peterwmwong/v8-perf/blob/master/typedarray-set-overlap-fast-c-call/README.md Bug: v8:5929 Change-Id: I47758d2ee603bc26f38dd9112567113cf887f5d5 Reviewed-on: https://chromium-review.googlesource.com/846378Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#50578}
-
Michael Achenbach authored
This will add three gc fuzzing flags with 5% likelihood each to the second correctness fuzzing config. The random checks are determined by the top-level random-seed passed to the script. This change depends on setting the fuzzer random seed as default to the standard random seed, since the former isn't explicitly passed by clusterfuzz. NOTRY=true TBR=hpayer@chromium.org Bug: v8:7012 Change-Id: I794dc48bb953b6a95bbc4fc4305ad561bc13b6ee Reviewed-on: https://chromium-review.googlesource.com/865912Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50577}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: I5136f183bd1728a1ab90a9ebb2560d978e17ef28 Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Reviewed-on: https://chromium-review.googlesource.com/863623 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50576}
-
Yang Guo authored
R=ulan@chromium.org Bug: v8:7303 Change-Id: Ica6db623fbb5a4c4dd3ccf1dcbd6f796bb4406fc Reviewed-on: https://chromium-review.googlesource.com/865907Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50575}
-
Andreas Haas authored
On arm64, the stack pointer has to be aligned all the time. This alignment was not considered in the creation of the CallDescriptor in the fuzzer and thereby caused a mismatch between the CallDescriptor and code generator. In other words, a callee put return values in a stack slot which was different than the stack slot where the caller expected the return value. With this CL we consider this alignment in the fuzzer. R=clemensh@chromium.org Change-Id: I8c78c24c682b7b8678c0d4d112bae99cf405b184 Reviewed-on: https://chromium-review.googlesource.com/864682Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50574}
-
Michal Majewski authored
Bug: v8:6917 Change-Id: Iab4e9d7a8f8a4313a6722610fb6a2cfcff703d81 Reviewed-on: https://chromium-review.googlesource.com/866710Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#50573}
-
Clemens Hammacher authored
Mixing SSE and AVX instructions can cause severe slowdowns, so always use AVX instructions if available. The {Movss} method of {TurboAssembler} automatically does this, emitting either {vmovss} or {movss}. R=titzer@chromium.org Bug: v8:6600 Change-Id: I45124944964e5a970814c7b50dfbfca333137dc1 Reviewed-on: https://chromium-review.googlesource.com/865910Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50572}
-
Martyn Capewell authored
Remove SetStackPointer function and update assembler tests. Bug: v8:6644 Change-Id: I5ea26e57b848d56433c84d8eea22d7e9b761e6bb Reviewed-on: https://chromium-review.googlesource.com/864147Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#50571}
-
Pierre Langlois authored
Every JS function has a bailout check at the beginning which makes sure it was not lazily deoptimized. We can improve the check slightly: - Load the code data container directly with a pc-relative load instead of ADR+LDR. - Check the deoptimization bit with TBZ directly, saving us a TST instruction. - Use one of the macro-assembler's dedicated scratch registers instead of x2. Bug: Change-Id: Iea4824c74ed5a01b18595d5e980788f9745bbb6e Reviewed-on: https://chromium-review.googlesource.com/864446Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#50570}
-