- 15 Nov, 2019 1 commit
-
-
Dan Elphick authored
utils.h itself is fairly large and contains lots of unrelated functions as well as having a fair number of dependencies itself, so this splits bounds checking and bit field operations into their own headers in base and replaces uses of utils.h with the more appropriate header where possible. (Also fixes some cases where other headers were previously brought in transitively). Bug: v8:9810, v8:8912 Change-Id: I76c53f953848a57e2c5bfad6ce45abcd6d2a4f1b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1916604Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64983}
-
- 14 Nov, 2019 1 commit
-
-
Clemens Backes authored
In Liftoff, we have a good estimate about how big the generated code might get. Also, we often compile hundreds of functions which each hold an assembler buffer alive until we finally add that code to the wasm module. In order to reduce memory consumption in Liftoff, this CL reduces {AssemblerBase::kMinimalBufferSize} from 4096 to 128, and adds {AssemblerBase::kDefaultBufferSize} to be used instead. R=jkummerow@chromium.org Change-Id: I7029bf501244770f4824a86b233d7f99c4b7910b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914559Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64958}
-
- 22 Oct, 2019 1 commit
-
-
Ng Zhi An authored
This is a reland of 08b26f53 Fixed the original crash, by removing a disasm for psllq and psrlq that is now handled by the macro list. Original change's description: > Clean up macros > > Move some instruction definitions into sse-instr, which is used to > generate some disasm tests, so we can remove some cases there. > > Bug: v8:9810 > Change-Id: I0615ec823396da08bc5d234cf1dabca6afd3f052 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866965 > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64441} Bug: v8:9810 Change-Id: I69335a889f5f72b76a79e4e9860835232e6e38a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1872298Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64487}
-
- 21 Oct, 2019 2 commits
-
-
Zhi An Ng authored
This reverts commit 08b26f53. Reason for revert: Breaks tree https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20noi18n%20-%20debug/29046 Original change's description: > Clean up macros > > Move some instruction definitions into sse-instr, which is used to > generate some disasm tests, so we can remove some cases there. > > Bug: v8:9810 > Change-Id: I0615ec823396da08bc5d234cf1dabca6afd3f052 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866965 > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64441} TBR=gdeepti@chromium.org,zhin@chromium.org Change-Id: I067c1fdbaa6eb2a08c0fcb7c8885d72f073a8818 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9810 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1873195Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64443}
-
Ng Zhi An authored
Move some instruction definitions into sse-instr, which is used to generate some disasm tests, so we can remove some cases there. Bug: v8:9810 Change-Id: I0615ec823396da08bc5d234cf1dabca6afd3f052 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866965Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64441}
-
- 15 Oct, 2019 2 commits
-
-
Dan Elphick authored
Add overrides to port specific assemblers and delete redundant empty override. Bug: v8:9810 Change-Id: I17e4614e06783867ae50e87bba83d35ebc9d0b51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1862567 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#64297}
-
Clemens Backes authored
WebAssembly locals are specified to be zero on function entry. Liftoff implements this by just storing the constant 0 in the virtual stack for integer types, and using one floating point register initialized to zero for all floating point types. For big counts of locals this leads to problems (manifesting as huge blocks of code being generated) once we hit a merge point: All those constants (for int) and all duplicate register uses (for floats) need to be fixed up, by using separate registers for the locals or spilling to the stack if no more registers are available. All this spilling generates a lot of code, and can even happen multiple times within a function. This CL optimizes for such cases by spilling all locals to the stack initially. All merges within the function body get much smaller then. The spilled values rarely have to be loaded anyway, because the initial zero value is usually overwritten before the first use. To optimize the code size for initializing big numbers of locals on the stack, this CL also introduces the platform-specific {FillStackSlotsWithZero} method which uses a loop for bigger local counts. This often saves dozens of kilobytes for very big functions, and shows an overall code size reduction of 4-5 percent for big modules. R=jkummerow@chromium.org Bug: v8:9830 Change-Id: I23fa4145847827420f09e043a11e0e7b606e94cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1856004 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64282}
-
- 10 Oct, 2019 1 commit
-
-
Ng Zhi An authored
Bug: v8:9728 Change-Id: I56900b52d37f245cba228ec41a3acbfb7d47363b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1837718Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64226}
-
- 09 Oct, 2019 1 commit
-
-
Ng Zhi An authored
Bug: v8:9728 Change-Id: If1572283d464d7d9c33a6ba6a9b9b8cf42efc31a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834768Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64200}
-
- 04 Oct, 2019 1 commit
-
-
Ng Zhi An authored
We reuse PACKED_OP_LIST to generate *pd instructions. Introduce a new pd base method, similar to ps and vps. Bug: v8:9396 Change-Id: Id9d81c22c9110935484fd929ef7bf5cc20e9ae7e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834767Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64117}
-
- 02 Oct, 2019 1 commit
-
-
Ng Zhi An authored
We already use PACKED_OP_LIST to generate AVX instructions, this change reuses the same list to generate the SSE equivalents, by introducting a helper assembler instruction, ps, as the actual implementation (similar to out vps is used as the implementation for AVX packed singled-precision floats). Change-Id: I7dd72c2be75eb3ff5badf6d668780604cae8c684 Bug: v8:9396 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834621 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#64088}
-
- 01 Oct, 2019 1 commit
-
-
Ng Zhi An authored
Bug: v8:9728 Change-Id: Ic15d793e6408af1ea2e1f7f71b9130300d359a95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1808417Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64073}
-
- 26 Sep, 2019 1 commit
-
-
Clemens Backes authored
R=adamk@chromium.org No-Try: true Change-Id: I71824f52802c125dbee51216054575f44d08d534 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825243 Commit-Queue: Clemens Backes [né Hammacher] <clemensb@chromium.org> Auto-Submit: Clemens Backes [né Hammacher] <clemensb@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#63983}
-
- 24 Sep, 2019 1 commit
-
-
Ng Zhi An authored
Bug: v8:9728 Change-Id: I8d993368fc23ab9e8cc08e31f4405678ec4ce824 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803790Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63955}
-
- 16 Sep, 2019 1 commit
-
-
Ng Zhi An authored
Bug: v8:8460 Change-Id: I8e72aa194cfc9797f0451d54638b6ba152d32971 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1797269Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63814}
-
- 13 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
- 29 Jul, 2019 3 commits
-
-
Clemens Hammacher authored
This is a reland of 658ff200 Original change's description: > [utils] Make BitField final > > We have hundreds of classes that derive from {BitField} without adding > any functionality. This CL switches all such occurrences to 'using' > declarations instead. > > Before: > class MyBitField : public BitField<int, 6, 4, MyEnum> {}; > After: > using MyBitField = BitField<int, 6, 4, MyEnum>; > > This might reduce compilation time by reducing the number of existing > classes. > > The old pattern is forbidden now by making {BitField} final. > > R=yangguo@chromium.org > > Bug: v8:9396, v8:7629 > Change-Id: I8a8364707e8eae0bb522af2459c160e3293eecbb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722565 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62956} Bug: v8:9396, v8:7629 Change-Id: Ic68541af9d1e8d0340691970922f282b24a9767f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1724379Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62959}
-
Clemens Hammacher authored
This reverts commit 658ff200. Reason for revert: Fails no-i18n bot: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20noi18n%20-%20debug/27826 Original change's description: > [utils] Make BitField final > > We have hundreds of classes that derive from {BitField} without adding > any functionality. This CL switches all such occurrences to 'using' > declarations instead. > > Before: > class MyBitField : public BitField<int, 6, 4, MyEnum> {}; > After: > using MyBitField = BitField<int, 6, 4, MyEnum>; > > This might reduce compilation time by reducing the number of existing > classes. > > The old pattern is forbidden now by making {BitField} final. > > R=yangguo@chromium.org > > Bug: v8:9396, v8:7629 > Change-Id: I8a8364707e8eae0bb522af2459c160e3293eecbb > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722565 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62956} TBR=yangguo@chromium.org,clemensh@chromium.org Change-Id: I50234a09c77aa89fdcf1e01c2497cc08d3ac79a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9396, v8:7629 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1724377Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62958}
-
Clemens Hammacher authored
We have hundreds of classes that derive from {BitField} without adding any functionality. This CL switches all such occurrences to 'using' declarations instead. Before: class MyBitField : public BitField<int, 6, 4, MyEnum> {}; After: using MyBitField = BitField<int, 6, 4, MyEnum>; This might reduce compilation time by reducing the number of existing classes. The old pattern is forbidden now by making {BitField} final. R=yangguo@chromium.org Bug: v8:9396, v8:7629 Change-Id: I8a8364707e8eae0bb522af2459c160e3293eecbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1722565Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#62956}
-
- 19 Jul, 2019 1 commit
-
-
Michael Starzinger authored
This adds decoding and compilation of the "atomic.fence" operator, which is intended to preserve the synchronization guarantees of higher-level languages. Unlike other atomic operators, it does not target a particular linear memory. It may occur in modules which declare no memory, or a non-shared memory, without causing a validation error. See proposal: https://github.com/WebAssembly/threads/pull/141 See discussion: https://github.com/WebAssembly/threads/issues/140 R=clemensh@chromium.org TEST=cctest/test-run-wasm-atomics/RunWasmXXX_AtomicFence BUG=v8:9452 Change-Id: Ibf7e46227f7edfe5c81c097cfc15924c59614067 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1701856 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#62821}
-
- 28 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I2f999ed3a8cc0931e5092f2ac6e709b8ff3f9e42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1630678 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61896}
-
- 23 May, 2019 1 commit
-
-
Yang Guo authored
NOPRESUBMIT=true TBR=mstarzinger@chromium.org Bug: v8:9247 Change-Id: I4cd6b79a1c2cba944f6f23caed59d4f1a4ee358b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624217 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#61790}
-
- 22 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 08 May, 2019 1 commit
-
-
Pierre Langlois authored
This fixes a crash when using --trace-ic on Arm64 debug. For a given return address, the assembler's `target_address_from_return_address()` method will displace it to give you the call-site address. However, this is fragile because it needs to decode the instruction stream to distinguish between different call sequences. So it triggered an assertion on Arm64 because we now use BL for builtin to buitin calls. We only use this when tracing IC states to detect if the caller is a deoptimized function. But to do this it doesn't matter if the address we have is the return or the call-site address. So we can just remove the need for the fragile Assembler method. As a drive-by, also remove `return_address_from_call_start()` which was doing the opposite and was unused. Change-Id: I5988d17eadd1652ed85d662e62bc4c579665dd31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594566 Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61337}
-
- 02 May, 2019 1 commit
-
-
Seth Brenith authored
On Windows, expanding the stack by more than 4 KB at a time can cause access violations. This change fixes a few known cases (and includes unit tests for those), and attempts to make stack expansion more consistent overall by using the AllocateStackSpace helper method everywhere we can, even when the offset is a small constant. On arm64, there was already a consistent method for stack pointer manipulation using the Claim and Drop methods, so Claim is updated to touch every page. Bug: v8:9017 Change-Id: I2dbbceeebbdefaf45803e9b621fe83f52234a395 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1570666 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61186}
-
- 30 Apr, 2019 1 commit
-
-
Mike Stanton authored
Failure addressed by not exposing the new test to the jitless environment. (jgruber@ on TBR). New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support compressed pointers in generated code. Enum name EMBEDDED_OBJECT changed to FULL_EMBEDDED_OBJECT. RelocInfo::[set_]target_object() abstract away the difference between FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT. Compressed embedded objects can only be created at this time on x64 with pointer compression turned on. Arm64 constant pools don't support compressed objects at this time. NOPRESUBMIT=true Bug: v8:7703 TBR: jgruber@chromium.org Change-Id: Ifff53b041bab09b4b8c3e16085e5df4aa2b99f4f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588461Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#61104}
-
- 29 Apr, 2019 2 commits
-
-
Ross McIlroy authored
This reverts commit b5da9fcb. Reason for revert: Breaks pointer compression bot: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20pointer%20compression/3098 Original change's description: > [ptr-compr] New RelocInfo for compressed pointers. > > New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support > compressed pointers in generated code. Enum name EMBEDDED_OBJECT > changed to FULL_EMBEDDED_OBJECT. > > RelocInfo::[set_]target_object() abstract away the difference between > FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT. > > Compressed embedded objects can only be created at this time on > x64 with pointer compression turned on. Arm64 constant pools don't > support compressed objects at this time. > > Bug: v8:7703 > Change-Id: I03bfd84effa33c65cf9bcefa5df680ab7eace9dd > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547661 > Commit-Queue: Michael Stanton <mvstanton@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61076} TBR=ulan@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org,ishell@chromium.org Change-Id: I262b2b98315fa987c5a66b1050dc726563ccdb2d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7703 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588135Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61087}
-
Mike Stanton authored
New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support compressed pointers in generated code. Enum name EMBEDDED_OBJECT changed to FULL_EMBEDDED_OBJECT. RelocInfo::[set_]target_object() abstract away the difference between FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT. Compressed embedded objects can only be created at this time on x64 with pointer compression turned on. Arm64 constant pools don't support compressed objects at this time. Bug: v8:7703 Change-Id: I03bfd84effa33c65cf9bcefa5df680ab7eace9dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1547661 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#61076}
-
- 22 Mar, 2019 1 commit
-
-
Bill Budge authored
- Changes min and max sequences to propagate NaNs and signed zeroes. - Note that NaN propagation must preserve canonical NaNs. This is achieved by always returning canonical NaNs. This is also consistent with the WebAssembly scalar math spec. Bug: v8:8639 Change-Id: I04fdefabc54ea60f4d02e2081c32444a02dd6a83 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524634 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60414}
-
- 08 Mar, 2019 1 commit
-
-
Bill Budge authored
This is a reland of 821bc649 Original change's description: > [wasm simd] Fix F32x4 Min and Max > > - Fix F32x4 tests to save results in globals, so they can be checked > in C++ code. Perform correct checks in case of NaNs. > - Fix ia32, x64 implementations of F32x4Min, F32x4Max to correctly > deal with NaNs. > - Enable tests for all float values on all platforms, except skip > denormalized results on ARM, and skip extreme values for reciprocal, > reciprocal square root approximation opcodes. > - Disable Min, Max test for interpreter (see v8:8425) since it doesn't > handle NaNs correctly. > - Fix vmin, vmax implementations in ARM simulator. > > Bug: v8:8639 > Change-Id: I87e188e3cb078f09fdacfd9955f426c20a11bf64 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495897 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60021} Bug: v8:8639 Change-Id: Ic557aa1d323693eabf5885ff5eddc15e3174079b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1501279Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#60109}
-
- 05 Mar, 2019 1 commit
-
-
Deepti Gandluri authored
This reverts commit 821bc649. Reason for revert: Fails on ARM hardware :( https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/9271 Original change's description: > [wasm simd] Fix F32x4 Min and Max > > - Fix F32x4 tests to save results in globals, so they can be checked > in C++ code. Perform correct checks in case of NaNs. > - Fix ia32, x64 implementations of F32x4Min, F32x4Max to correctly > deal with NaNs. > - Enable tests for all float values on all platforms, except skip > denormalized results on ARM, and skip extreme values for reciprocal, > reciprocal square root approximation opcodes. > - Disable Min, Max test for interpreter (see v8:8425) since it doesn't > handle NaNs correctly. > - Fix vmin, vmax implementations in ARM simulator. > > Bug: v8:8639 > Change-Id: I87e188e3cb078f09fdacfd9955f426c20a11bf64 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495897 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60021} TBR=bbudge@chromium.org,gdeepti@chromium.org Change-Id: Ib0dc8395ff86263fe0c02faa53d90c7da46b50a6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8639 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1501732Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60022}
-
- 04 Mar, 2019 1 commit
-
-
Bill Budge authored
- Fix F32x4 tests to save results in globals, so they can be checked in C++ code. Perform correct checks in case of NaNs. - Fix ia32, x64 implementations of F32x4Min, F32x4Max to correctly deal with NaNs. - Enable tests for all float values on all platforms, except skip denormalized results on ARM, and skip extreme values for reciprocal, reciprocal square root approximation opcodes. - Disable Min, Max test for interpreter (see v8:8425) since it doesn't handle NaNs correctly. - Fix vmin, vmax implementations in ARM simulator. Bug: v8:8639 Change-Id: I87e188e3cb078f09fdacfd9955f426c20a11bf64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495897 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#60021}
-
- 15 Feb, 2019 1 commit
-
-
Igor Sheludko authored
Bug: v8:8477, v8:8834 Change-Id: If613bc4a32cdce68d9bcf747bf0bf528e3c2a90c Reviewed-on: https://chromium-review.googlesource.com/c/1473290Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59620}
-
- 13 Feb, 2019 1 commit
-
-
Nico Weber authored
For macros expanding to function definitions, I removed the spurious ; after macro invocations. For macros expandign to function declarations, I made the ; required and consistently inserted it. No behavior change. Bug: chromium:926235 Change-Id: Ib8085d85d913d74307e3481f7fee4b7dc78c7549 Reviewed-on: https://chromium-review.googlesource.com/c/1467545Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#59558}
-
- 01 Feb, 2019 1 commit
-
-
Jakob Gruber authored
This basically adjusts reality to match our expectations. Methods based on Code::kConstantPoolOffset expected the constant pool to be located immediately following the handler table and before the code comments section, while it was actually emitted before the jump table. We did not notice earlier since this is only relevant on ppc. Bug: v8:8758 Change-Id: I189af491fe133a7dc480ff4056372ba7a27faa81 Reviewed-on: https://chromium-review.googlesource.com/c/1445880 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#59299}
-
- 30 Jan, 2019 1 commit
-
-
Jakob Gruber authored
This is an initial step towards clarifying the layout of the instruction area. As follow-ups, we should remove additional safepoint and handler table offset parameters, and perhaps alter Code::safepoint_table_offset (handler_table) semantics to always contain a real offset and avoid the magic 0 signifying nonexistent tables. Bug: v8:8758 Change-Id: I9f54629ff3ddad69904b0e1ce2a58e047397aa15 Reviewed-on: https://chromium-review.googlesource.com/c/1434036 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#59202}
-
- 25 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The Memory<T>(address) helper requires the address to be aligned. Since values embedded into ia32/x64 code can in general be unaligned, we must use ReadUnalignedValue/WriteUnalignedValue to manipulate them. Bug: v8:3770 Change-Id: I12c3fc6aa09062dcc9188b6782ed4a35e1d684bd Reviewed-on: https://chromium-review.googlesource.com/c/1436223Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#59100}
-
- 22 Jan, 2019 1 commit
-
-
Tobias Tebbi authored
Change-Id: I0517ac0c9b8d83809fa51a2828f91211c97f6ffc Reviewed-on: https://chromium-review.googlesource.com/c/1424956Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58986}
-
- 17 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Refactor all call sites to use the new API introduced in https://crrev.com/c/1411347 and remove the legacy constructors. R=mstarzinger@chromium.org Bug: v8:8689, v8:8562 Change-Id: Id73686413726b2860f551dd200ef4b8823ef3034 Reviewed-on: https://chromium-review.googlesource.com/c/1415491Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58884}
-