- 12 Nov, 2018 1 commit
-
-
Ben L. Titzer authored
This CL splits the backend of TurboFan off into its own directory, without changing namespaces. This makes ownership management a bit more fine-grained with a logical separation. R=mstarzinger@chromium.org,jarin@chromium.org,adamk@chromium.org Change-Id: I2ac40d6ca2c4f04b8474b630aae0286ecf79ef42 Reviewed-on: https://chromium-review.googlesource.com/c/1308333 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57437}
-
- 29 Aug, 2018 1 commit
-
-
Deepti Gandluri authored
The AtomicNarrow operations are currently used for wider 64-bit operations, that only operate on 32-bits of data or less (Ex:I64AtomicAdd8U). Removing these because this can be handled in int64-lowering by zeroing the higher order node. Explicitly zeroing these in code-gen is not required because - - The spec requires only the data exchange to be atomic, for narrow ops this uses only the low word. - The return values are not in memory, so are not visible to other workers/threads BUG:v8:6532 Change-Id: I90a795ab6c21c70cb096f59a137de653c9c6a178 Reviewed-on: https://chromium-review.googlesource.com/1194428Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#55499}
-
- 14 Aug, 2018 2 commits
-
-
Benedikt Meurer authored
This adds support for unaligned load/store access to the DataView backing store and uses byteswap operations to fix up the endianess when necessary. This changes the Word32ReverseBytes operator to be a required operator and adds the missing support on the Intel and ARM platforms (on 64-bit platforms the Word64ReverseBytes operator is also mandatory now). This further improves the performance on the dataviewperf.js test mentioned in the tracking bug by up to 40%, and at the same time reduces the code complexity in the EffectControlLinearizer. Bug: chromium:225811 Change-Id: I7c1ec826faf46a144a5a9068f8f815a5fd040997 Reviewed-on: https://chromium-review.googlesource.com/1174252Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55111}
-
Leszek Swirski authored
This reverts commit c46915b9. Reason for revert: Disasm failures https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21727 Original change's description: > [turbofan] Further optimize DataView accesses. > > This adds support for unaligned load/store access to the DataView > backing store and uses byteswap operations to fix up the endianess > when necessary. This changes the Word32ReverseBytes operator to be > a required operator and adds the missing support on the Intel and > ARM platforms (on 64-bit platforms the Word64ReverseBytes operator > is also mandatory now). > > This further improves the performance on the dataviewperf.js test > mentioned in the tracking bug by up to 40%, and at the same time > reduces the code complexity in the EffectControlLinearizer. > > Bug: chromium:225811 > Change-Id: I296170b828c2ccc1c317ed37840b564aa14cdec2 > Reviewed-on: https://chromium-review.googlesource.com/1172777 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55099} TBR=sigurds@chromium.org,bmeurer@chromium.org Change-Id: If7a62e3a1a4ad26823fcbd2ab6eb4c053ad11c49 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:225811 Reviewed-on: https://chromium-review.googlesource.com/1174171Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#55107}
-
- 13 Aug, 2018 1 commit
-
-
Benedikt Meurer authored
This adds support for unaligned load/store access to the DataView backing store and uses byteswap operations to fix up the endianess when necessary. This changes the Word32ReverseBytes operator to be a required operator and adds the missing support on the Intel and ARM platforms (on 64-bit platforms the Word64ReverseBytes operator is also mandatory now). This further improves the performance on the dataviewperf.js test mentioned in the tracking bug by up to 40%, and at the same time reduces the code complexity in the EffectControlLinearizer. Bug: chromium:225811 Change-Id: I296170b828c2ccc1c317ed37840b564aa14cdec2 Reviewed-on: https://chromium-review.googlesource.com/1172777 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#55099}
-
- 09 Aug, 2018 1 commit
-
-
Deepti Gandluri authored
Bug: v8:6532 Change-Id: I6391c3d5e86d2b04735e241a1e0549a170ab4852 Reviewed-on: https://chromium-review.googlesource.com/1164640Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#55027}
-
- 02 Aug, 2018 1 commit
-
-
Deepti Gandluri authored
Bug: v8:6532 Change-Id: Ib486a1c0d80a14b778dde5ef6655e11d326b4c73 Reviewed-on: https://chromium-review.googlesource.com/1157068Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#54852}
-
- 30 Jul, 2018 1 commit
-
-
Deepti Gandluri authored
Bug:v8:6532 Change-Id: Ie983fa561654f86597b8f45c5ce11f993846bfe6 Reviewed-on: https://chromium-review.googlesource.com/1145893 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54796}
-
- 10 Jul, 2018 1 commit
-
-
Bill Budge authored
- Dup shuffles broadcast a single lane from a source operand to all lanes of the destination. Conceptually similar to a splat, they require special handling since the splatted value must be extracted from a source. The 32x4 case is already well handled (pshufd) but 16x8 and 8x16 currently generate the general shuffle code sequence. - Adds IA32S16x8Dup, IA32S8x16Dup opcodes. Bug: v8:6020 Change-Id: Ia4f044aa7e25cae30e8f9007c2488db738ca6cfc Reviewed-on: https://chromium-review.googlesource.com/1128513Reviewed-by: Jing Bao <jing.bao@intel.com> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54362}
-
- 09 Jul, 2018 1 commit
-
-
jing.bao authored
Change-Id: Ic2c4f02d5e451c4a3a6612ae91e5cc8231d62448 Reviewed-on: https://chromium-review.googlesource.com/1119773 Commit-Queue: Jing Bao <jing.bao@intel.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54307}
-
- 06 Jul, 2018 2 commits
-
-
Bill Budge authored
- Adds opcodes for 2x8, 4x4, and 8x2 byte reversing swizzles on ia32. Bug: v8:6020 Change-Id: I2c5d4ba88b42a17fc75ac0307e80d8c11d1838ba Reviewed-on: https://chromium-review.googlesource.com/1121956 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#54302}
-
Bill Budge authored
- Eliminates I8x16SPLAT macro. This generates: push eax mov eax, #imm32 movd xmmDest, eax pxor xmmScratch, xmmScratch pshufb xmmDest, xmmScratch pop eax - Uses smaller sequence for I8x16Shl and I8x16ShrU that doesn't require a temp register. - Uses punpckbw, psraw, packsswb sequence for I8x16ShrS. Bug: v8:6020 Change-Id: I1dc4ecaba43b150a3412e9083fe930868d9e5d5d Reviewed-on: https://chromium-review.googlesource.com/1121045Reviewed-by: Jing Bao <jing.bao@intel.com> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54300}
-
- 25 Jun, 2018 1 commit
-
-
jing.bao authored
I32x4U/SConvertI16x8Low/High, I16x8U/SConvertI8x16Low/High Add pmovsxbw/wd, pmovzxbw/wd and AVX version Add Palignr, Pmovsxbw/wd, Pmovzxbw/wd macro. Reconstruct ptest/vptest, Ptest using macro Change-Id: I4a26b3bb6d5791f72e3192c914758287701e78a0 Reviewed-on: https://chromium-review.googlesource.com/1111691 Commit-Queue: Jing Bao <jing.bao@intel.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#53990}
-
- 21 Jun, 2018 1 commit
-
-
Bill Budge authored
- Handles zip, unzip, and transpose shuffles/swizzles. - Adds punpck* instructions to assembler. Bug: v8:6020 Change-Id: If124b7a7462ffd0470347b54ce4a93c01667e384 Reviewed-on: https://chromium-review.googlesource.com/1084069Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#53947}
-
- 11 Jun, 2018 1 commit
-
-
Bill Budge authored
- Shuffle canonicalization improved to reverse operands to match more architectural shuffles. - Handles shuffles where the order of operands is reversed. - Adds tests for non-canonical shuffles, and for swizzles. - Improves TryMatchConcat method. - Substantially rewrites shuffles on ia32 to better handle swizzles and fix bugs on reversed shuffles where source registers are overwritten. - Adds Palignr macro-assembler instructions for ia32. Bug: v8:6020 Change-Id: I8e43a1e7650057c66690af1504b67509a1437d75 Reviewed-on: https://chromium-review.googlesource.com/1070934 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Martyn Capewell <martyn.capewell@arm.com> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#53648}
-
- 31 May, 2018 1 commit
-
-
Bill Budge authored
- Adds v/pshufhw, v/palignr instructions to assembler and macro-assembler. - Uses better instruction sequences for 32x4 shuffles using half- shuffles and blends. - Uses better instruction sequences for 16x8 shuffles. - Uses better instruction sequences for concatenating 8x16 shuffles. Change-Id: I3e6dca2937a2b167c754c47331c3a2f8ab9786db Reviewed-on: https://chromium-review.googlesource.com/1066986 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#53460}
-
- 28 Apr, 2018 1 commit
-
-
jing.bao authored
I16x8SConvertI32x4, I16x8UConvertI32x4, I8x16SConvertI16x8, I8x16UConvertI16x8 Add packsswb/packssdw/packuswb/packusdw Change-Id: Ibb661a20fa032d732fec20b3d48190f44d2d4bd4 Reviewed-on: https://chromium-review.googlesource.com/1027123Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52870}
-
- 19 Apr, 2018 1 commit
-
-
jing.bao authored
Complete ptest and add vptest Add Pcmpeqb, Pcmpeqw, Ptest macro Change-Id: I060aa5228d50f2dca7ed3e24324a08c04ec1a028 Reviewed-on: https://chromium-review.googlesource.com/1013236Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52687}
-
- 10 Apr, 2018 1 commit
-
-
jing.bao authored
Change-Id: I6f6c12c2a711a6089e625dd9912a4b3a887df447 Reviewed-on: https://chromium-review.googlesource.com/1002875Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52498}
-
- 29 Mar, 2018 1 commit
-
-
jing.bao authored
Add Rcpps and Rsqrtps macros. Rename SIMD_UNOP macros. Change-Id: I7e9418a835f085cc0fdd31fc3815c17c8f413b67 Reviewed-on: https://chromium-review.googlesource.com/982575Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52291}
-
- 28 Mar, 2018 1 commit
-
-
jing.bao authored
Add Cvtdq2ps macro. Add pblendw/vpblendw. Change-Id: I5c8232d17c220fbbb4845cbfad4ce765f0bbbb90 Reviewed-on: https://chromium-review.googlesource.com/961973 Commit-Queue: Jing Bao <jing.bao@intel.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#52255}
-
- 26 Mar, 2018 2 commits
-
-
Yang Guo authored
This reverts commit 9a0ccf4f. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/19794 Original change's description: > [ia32][wasm] Add F32x4AddHoriz, I32x4AddHoriz and I16x8AddHoriz > > Change-Id: Icdecfadbb1acc77d21a65d997f83c5f4db7c0780 > Reviewed-on: https://chromium-review.googlesource.com/942049 > Commit-Queue: Jing Bao <jing.bao@intel.com> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52203} TBR=bbudge@chromium.org,mtrofin@chromium.org,bmeurer@chromium.org,jing.bao@intel.com Change-Id: Iad906959b9fb1ffba02ce4286f15d51fef49b12d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/979533Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52206}
-
jing.bao authored
Change-Id: Icdecfadbb1acc77d21a65d997f83c5f4db7c0780 Reviewed-on: https://chromium-review.googlesource.com/942049 Commit-Queue: Jing Bao <jing.bao@intel.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#52203}
-
- 23 Mar, 2018 1 commit
-
-
Kanghua Yu authored
Change-Id: I9a78e0a8f673f311414f72055958c52d3c2cb0cd Reviewed-on: https://chromium-review.googlesource.com/908256 Commit-Queue: Kanghua Yu <kanghua.yu@intel.com> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#52166}
-
- 05 Feb, 2018 1 commit
-
-
jing.bao authored
Change-Id: If796c837c621053a61008793c0a51f3138047ebb Reviewed-on: https://chromium-review.googlesource.com/898568Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#51087}
-
- 30 Jan, 2018 1 commit
-
-
Kanghua Yu authored
I8x16Shl/I8x16ShrS/I8x16ShrU,I8x16Mul R=bbudge@chromium.org, bmeurer@chromium.org Bug: Change-Id: I97d7f077c26fe6f8be6464582f20d4e3c8fd4667 Reviewed-on: https://chromium-review.googlesource.com/853772 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50940}
-
- 17 Jan, 2018 1 commit
-
-
jing.bao authored
Also refine SSES128Not Change-Id: Ifb34055ed673e1a0f5842e99b10547b834b0d9d6 Reviewed-on: https://chromium-review.googlesource.com/867520Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#50634}
-
- 15 Jan, 2018 1 commit
-
-
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}
-
- 10 Jan, 2018 1 commit
-
-
jing.bao authored
Bug: Change-Id: I75de89ca895ef5a408a1d958b75dbc79d07e007a Reviewed-on: https://chromium-review.googlesource.com/856096Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#50468}
-
- 02 Jan, 2018 2 commits
-
-
Pierre Langlois authored
Extend the code-generator tests to cover AssembleMove and AssembleSwap with Simd128 registers and stack slots, for targets that support them. For this to work however, we need support for passing Simd128 stack parameters in TurboFan which this patch implements for Arm and x86. PPC and S390 both do not support the Simd128 representation and it appears MIPS and MIPS64's implementation of AssembleMove and AssembleSwap do not support it either. As per the design of the tests, the set of values to perform moves on are represented in a FixedArray of Smis (for kTagged) and HeapNumbers (for kFloat32 and kFloat64). They are converted to raw values for the moves to be performed on, to be then converted back into a FixedArray. For the kSimd128 representation, we represent values as a FixedArray of 4 Smis, each representing a lane. They are converted to a raw Simd128 vector using the `I32x4ReplaceLane` and `I32x4ExtractLane` operations. Finally, these tests need Simd128 variables mixed with the CodeStubAssembler which is not a use-case officially supported. And as a result, the `RecordWrite` stub does not guarantee to preserve Simd128 registers. To get around this, we have to be careful to skip write barriers when dealing with Simd128 parameters inside the "teardown" function, and we've had to move all allocations to the "setup" function. Thanks to this, we are able to catch bugs such as this one https://bugs.chromium.org/p/v8/issues/detail?id=6843. Bug: v8:6848 Change-Id: I8787d6339cdbfcd9356c5e8995925f0b45c562fa Reviewed-on: https://chromium-review.googlesource.com/728599 Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50326}
-
Clemens Hammacher authored
After https://crrev.com/c/832457, CheckedLoad is not being used any more. Thus, remove it from the TurboFan backend and from all tests. CheckedStore was already removed in https://crrev.com/c/822570. R=jarin@chromium.org CC=titzer@chromium.org, mstarzinger@chromium.org Change-Id: I2eeec2f4a9d0a10067db5cc25ec41366ae85e917 Reviewed-on: https://chromium-review.googlesource.com/832459 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50323}
-
- 22 Dec, 2017 1 commit
-
-
Andreas Haas authored
Instead of these two instructions I generalize the kIA32Peek instruction. R=bmeurer@chromium.org Change-Id: I4bc48ac95dffd6e33de47a6aee9a13a1d64f78e0 Reviewed-on: https://chromium-review.googlesource.com/839766Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50292}
-
- 12 Dec, 2017 2 commits
-
-
Ben L. Titzer authored
This operation was used to implement asm.js stores, but is obsolete with asm.js stores now being lowered to normal graph nodes. R=mstarzinger@chromium.org CC=jarin@chromium.org Bug: Change-Id: Iea90b1a62be2e273c0562058642adc5b63ae2cf8 Reviewed-on: https://chromium-review.googlesource.com/822570 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50046}
-
Andreas Haas authored
The original CL introduced a test which uses a random number generator. I disable the test for now, which is okay because this CL adds to a work-in-progress feature anyways, and I will fix the problem in another CL. 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. So far, only ia32 and x64 are implemented. Change-Id: I8b03fc4e53946daaa0e14a34603f4824a04fad7e Reviewed-on: https://chromium-review.googlesource.com/819557Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50031}
-
- 11 Dec, 2017 3 commits
-
-
Andreas Haas authored
This reverts commit 1e49864f. Reason for revert: Crashing test on the waterfall https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Linux_gcc_4.8%2F16871%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2FReturnMultipleRandom%2F0 Original change's description: > [turbofan] Implement on-stack returns (Intel) > > 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. > > So far, only ia32 and x64 are implemented. > > Change-Id: I9532ad13aa307c1dec40548c5b84600fe2f762ce > Reviewed-on: https://chromium-review.googlesource.com/766371 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49994} TBR=titzer@chromium.org,rossberg@chromium.org,ahaas@chromium.org Change-Id: Ib257e92448942f8ef07d5ef246f9381f4784f014 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/819637Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50000}
-
Andreas Haas authored
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. So far, only ia32 and x64 are implemented. Change-Id: I9532ad13aa307c1dec40548c5b84600fe2f762ce Reviewed-on: https://chromium-review.googlesource.com/766371 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49994}
-
jing.bao authored
Implement IA32Movdqu Add vmovdqu and Movdqu macro Bug: Change-Id: Idc2b5c99adf38d6120ff451bde40d4ad8f2046de Reviewed-on: https://chromium-review.googlesource.com/815944Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#49981}
-
- 07 Dec, 2017 1 commit
-
-
jing.bao authored
Bug: Change-Id: I68e3f62612d9e6e7c915931c1c6f810d59df31eb Reviewed-on: https://chromium-review.googlesource.com/810524Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#49916}
-
- 06 Dec, 2017 1 commit
-
-
jing.bao authored
Add vshufps, vmovaps, insertps/vinsertps Bug: Change-Id: I178cde529b5309a5221086ab916e5485a8b67d5a Reviewed-on: https://chromium-review.googlesource.com/802999Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#49880}
-
- 01 Dec, 2017 1 commit
-
-
jing.bao authored
Bug: Change-Id: I0868da7ee73f1c7637d9c79b6c78f27557cd14a4 Reviewed-on: https://chromium-review.googlesource.com/792653Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#49774}
-