- 01 May, 2020 1 commit
-
-
Z Nguyen-Huu authored
ROL will be optional operator as arm, arm64 only have ROR. The reason for this CL is inefficient Wasm codegen for 64-bit left-rotation. Bug: v8:10216 Change-Id: I0cd13e4b6de5276a0d0b80eac5ed9c2e52ba1f96 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2157648 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67518}
-
- 25 Feb, 2020 1 commit
-
-
Andreas Haas authored
This CL generalizes the lowering of special CallDescriptors in the int64-lowering. The reason is a planned extension of the special handling due to a refactoring of the AtomicWait implementation. R=jkummerow@chromium.org Bug: v8:10108 Change-Id: I48d0087e2ad00ba9b44c5198ffdbbae8eb575a85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2069333Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#66420}
-
- 16 Oct, 2019 1 commit
-
-
Ng Zhi An authored
This introduces 2 new machine operators that are variants of I64x2Splat and I64x2ReplaceLane that takes two int32 operands instead of one i64 operand. Bug: v8:9728 Change-Id: I6675f991e6c56821c84d183dacfda96961c1a708 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841242Reviewed-by:
Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#64337}
-
- 21 Aug, 2019 1 commit
-
-
Andreas Haas authored
This CL was reviewed originally in https://crrev.com/c/1518181. Bug: v8:7741 Change-Id: Iddb139a24c4b9aee6694e20cb5d04e9f9887160c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752859 Auto-Submit: Sven Sauleau <sven@cloudflare.com> Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63321}
-
- 15 Jul, 2019 1 commit
-
-
Georg Neis authored
... by making them const or converting them to pointers. Bug: v8:9429 Change-Id: If4a7832944f5dc35cec04c11087499a552a7469a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1700073 Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62705}
-
- 02 Jul, 2019 1 commit
-
-
Jakob Kummerow authored
plus a test that calls a CAPI function directly from C++ (without the detour through Wasm). Anyref tables are still unsupported. Change-Id: I450a6a75fde411da99691deab04c59a760a65a7d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1684076Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#62489}
-
- 11 Apr, 2019 1 commit
-
-
Deepti Gandluri authored
Bug: chromium:925244 Change-Id: If9c00f85b1dece93057b541bf0fe1b0a05b81ceb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1565032 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60795}
-
- 22 Mar, 2019 2 commits
-
-
Sven Sauleau authored
This CL changes the case of the variable name I introduced in a previous CL. Change-Id: I6d44eaf8361fa7e021c1107af49ce85238165449 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535821Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Cr-Commit-Position: refs/heads/master@{#60407}
-
Sven Sauleau authored
In the int64 lowering pass some parameter nodes are considered special and don't require any transformation. For instance the Wasm instance. With the experimental-wasm-bigint proposal, two new special parameters are going through the pass, this CL avoids transforming them. Change-Id: Ie99ffaff125b9ef8c56e1883aac9e18e4072fc3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532336 Auto-Submit: Sven Sauleau <ssauleau@igalia.com> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Cr-Commit-Position: refs/heads/master@{#60404}
-
- 22 Jan, 2019 1 commit
-
-
Deepti Gandluri authored
Clusterfuzz generated test cases for narrow Load, CmpExchg nodes in which the index is a word64 expression. This was not handled correctly leading to a malformed graph. Use default lowering for all atomic narrow operations, and add reduced test cases in wasm cctests with the same sequence as the ones generated by binaryen for other I64Atomic operations as well. Change-Id: I50d63747b16a8f69289ca4e76547b325d84b22d3 Bug: chromium:921366, chromium:920120, chromium:900681 Reviewed-on: https://chromium-review.googlesource.com/c/1423177 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59012}
-
- 27 Sep, 2018 1 commit
-
-
Deepti Gandluri authored
Change-Id: I1cf8d697b5a4408fb75332dc39be12c0a2ee0e5a Bug: v8:8202, v8:6532 Reviewed-on: https://chromium-review.googlesource.com/1240907 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56254}
-
- 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}
-
- 24 Jul, 2018 1 commit
-
-
Deepti Gandluri authored
Bug:v8:7754 Change-Id: I76bc28f4868da452278bc8fc174b462bb26034f1 Reviewed-on: https://chromium-review.googlesource.com/1148592 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#54662}
-
- 22 May, 2018 1 commit
-
-
Deepti Gandluri authored
Change-Id: I488b47a51ef79c97545576fcc7d58e9147deb664 Reviewed-on: https://chromium-review.googlesource.com/1067677Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#53285}
-
- 02 May, 2018 1 commit
-
-
Deepti Gandluri authored
Bug:v8:7510 R=ahaas@chromium.org Change-Id: Id3c6b4ebcb89300c4b886c79f4c688bc18648b06 Reviewed-on: https://chromium-review.googlesource.com/1036650 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52924}
-
- 27 Apr, 2018 1 commit
-
-
Clemens Hammacher authored
Linkage-related methods were declared in wasm-compiler.h and implemented in wasm-linkage.cc. This required all users of e.g. wasm call descriptors to include the whole wasm compiler header. Also, some wasm linkage information is independent of turbofan and also used outside of the compiler directory. This CL splits off wasm-linkage.h (with minimal includes) and puts it in src/wasm. This allows to use that information without including compiler headers (will clean up several uses in follow-up CLs). R=mstarzinger@chromium.org, titzer@chromium.org Bug: v8:7570 Change-Id: Ifcae70b4ea7932cda30953b325c2b87c4176c598 Reviewed-on: https://chromium-review.googlesource.com/1013701Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52849}
-
- 16 Apr, 2018 1 commit
-
-
Vincent Belliard authored
First version which can compile a very basic code. Change-Id: I3b98412a5ca39a28f8fe5b60516b82c6981dd187 Reviewed-on: https://chromium-review.googlesource.com/993232 Commit-Queue: Vincent Belliard <vincent.belliard@arm.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52622}
-
- 06 Apr, 2018 1 commit
-
-
Ben L. Titzer authored
This change makes lifetime management of WasmCode much simpler. By using the WasmInstanceObject as the context for WASM code execution, including the pointer to the memory base and indirect function tables, this keeps the instance alive when WASM code is on the stack, since the instance object is passed as a parameter and spilled onto the stack. This is in preparation of sharing the code between instances and isolates. Bug: v8:7424 R=mstarzinger@chromium.org Change-Id: Ia35a3ce91a8f6135767fa764e185cde8bbc889f4 Reviewed-on: https://chromium-review.googlesource.com/997932 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52436}
-
- 04 Apr, 2018 2 commits
-
-
Ben Titzer authored
This reverts commit 57bf0bfe. Reason for revert: <INSERT REASONING HERE> Original change's description: > [wasm] Merge the WasmContext into WasmInstanceObject > > This change makes lifetime management of WasmCode much simpler. > By using the WasmInstanceObject as the context for WASM code execution, > including the pointer to the memory base and indirect function tables, > this keeps the instance alive when WASM code is on the stack, since > the instance object is passed as a parameter and spilled onto the stack. > This is in preparation of sharing the code between instances and > isolates. > > Bug: v8:7424 > > Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e > Reviewed-on: https://chromium-review.googlesource.com/958520 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Clemens Hammacher <clemensh@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52361} TBR=mstarzinger@chromium.org,titzer@chromium.org,ahaas@chromium.org,clemensh@chromium.org Change-Id: I653e27b46dbc43ad773eda4292d521a508f42d79 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7424 Reviewed-on: https://chromium-review.googlesource.com/995418Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52364}
-
Ben L. Titzer authored
This change makes lifetime management of WasmCode much simpler. By using the WasmInstanceObject as the context for WASM code execution, including the pointer to the memory base and indirect function tables, this keeps the instance alive when WASM code is on the stack, since the instance object is passed as a parameter and spilled onto the stack. This is in preparation of sharing the code between instances and isolates. Bug: v8:7424 Change-Id: Ic2e4b7bcc2feb20001d0553a615a8a9dff36317e Reviewed-on: https://chromium-review.googlesource.com/958520 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52361}
-
- 08 Mar, 2018 1 commit
-
-
Tobias Tebbi authored
UnalignedLoad is the only kind of load operation that defines its own UnalignedLoadRepresentation type alias and LoadRepresentationOf function. This is a problem because it means we cannot use the LOAD_MATCHER infrastructure without defining all of this boilerplate for all the other kinds of load operations. Since these aliases serve no real purpose, it is best to unify UnalignedLoad to how its peers are handled. Change-Id: I51a591eb82fb85edee66512136b23276e851f767 Reviewed-on: https://chromium-review.googlesource.com/951683 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51802}
-
- 05 Mar, 2018 1 commit
-
-
Sigurd Schneider authored
This also introduces FrameStateInfoOf helper. Bug: v8:7517, v8:7310 Change-Id: If2dd1257fb9384fe957a980077a65154cc014d3b Reviewed-on: https://chromium-review.googlesource.com/946009 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51718}
-
- 09 Feb, 2018 1 commit
-
-
Ben L. Titzer authored
This is a purely cosmetic change. Rename all local variables and parameters of type CallDescriptor* to "call_descriptor". For locals that are now named "call_descriptor", use auto upon initialization, following the Google style guide (https://google.github.io/styleguide/cppguide.html#auto). Note: fields in structs and classes were not renamed in this CL. R=clemensh@chromium.org,mstarzinger@chromium.org,jarin@chromium.org Change-Id: Ic6f7afdba12f7b97741b098a9d0e0f58c41c587e Reviewed-on: https://chromium-review.googlesource.com/909866 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51223}
-
- 12 Dec, 2017 1 commit
-
-
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 2 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}
-
- 02 Dec, 2017 1 commit
-
-
Mathias Bynens authored
This patch normalizes the casing of hexadecimal digits in escape sequences of the form `\xNN` and integer literals of the form `0xNNNN`. Previously, the V8 code base used an inconsistent mixture of uppercase and lowercase. Google’s C++ style guide uses uppercase in its examples: https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters Moreover, uppercase letters more clearly stand out from the lowercase `x` (or `u`) characters at the start, as well as lowercase letters elsewhere in strings. BUG=v8:7109 TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6 Reviewed-on: https://chromium-review.googlesource.com/804294 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49810}
-
- 27 Oct, 2017 1 commit
-
-
Andreas Rossberg authored
R=titzer@chromium.org Change-Id: Ie8c361efb48b56dc65719f09dfc79d505e0f3459 Reviewed-on: https://chromium-review.googlesource.com/735610 Commit-Queue: Andreas Rossberg <rossberg@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49000}
-
- 16 Oct, 2017 1 commit
-
-
Ben L. Titzer authored
This CL removes the code specialization for WASM functions that access globals. Previously, we were embedding the start address of the globals memory (globals_start) as a constant in the code, which required patching for every instance. We now put this base in to the WasmContext, which is available as a parameter to every WasmFunction. R=ahaas@chromium.org, CC=mtrofin@chromium.org Bug: Change-Id: I04bb739e898cc5a3b7dd081cc166483022d113fd Reviewed-on: https://chromium-review.googlesource.com/712595 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#48581}
-
- 04 Oct, 2017 1 commit
-
-
Ben L. Titzer authored
This CL also removes the v8::internal::wasm::testing namespace, which had methods that were defined in wasm-module.h, moving them to be *ForTesting methods on the corresponding WASM heap objects. R=clemensh@chromium.org Bug: v8:6877 Change-Id: I1b346ec64d93ee3a122b8f7e69772cfe98371754 Reviewed-on: https://chromium-review.googlesource.com/695523Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48286}
-
- 28 Sep, 2017 1 commit
-
-
Enrico Bacis authored
The WasmContext struct introduced in this CL is used to store the mem_size and mem_start address of the wasm memory. These variables can be accessed at C++ level at graph build time (e.g., initialized during instance building). When the GrowMemory runtime is invoked, the context variables can be changed in the WasmContext at C++ level so that the generated code will load the correct values. This requires to insert a relocatable pointer only in the JSToWasmWrapper (and in the other wasm entry points), the value is then passed from function to function as an automatically added additional parameter. The WasmContext is then dropped when creating an Interpreter Entry or when invoking a JavaScript function. This removes the need of patching the generated code at runtime (i.e., when the memory grows) with respect to WASM_MEMORY_REFERENCE and WASM_MEMORY_SIZE_REFERENCE. However, we still need to patch the code at instance build time to patch the JSToWasmWrappers; in fact the address of the WasmContext is not known during compilation, but only when the instance is built. The WasmContext address is passed as the first parameter. This has the advantage of not having to move the WasmContext around if the function does not use many registers. This CL also changes the wasm calling convention so that the first parameter register is different from the return value register. The WasmContext is attached to every WasmMemoryObject, to share the same context with multiple instances sharing the same memory. Moreover, the nodes representing the WasmContext variables are cached in the SSA environment, similarly to other local variables that might change during execution. The nodes are created when initializing the SSA environment and refreshed every time a grow_memory or a function call happens, so that we are sure that they always represent the correct mem_size and mem_start variables. This CL also removes the WasmMemorySize runtime (since it's now possible to directly retrieve mem_size from the context) and simplifies the GrowMemory runtime (since every instance now has a memory_object). R=ahaas@chromium.org,clemensh@chromium.org CC=gdeepti@chromium.org Change-Id: I3f058e641284f5a1bbbfc35a64c88da6ff08e240 Reviewed-on: https://chromium-review.googlesource.com/671008 Commit-Queue: Enrico Bacis <enricobacis@google.com> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48209}
-
- 25 Sep, 2017 1 commit
-
-
Clemens Hammacher authored
Use the (D)CHECK_{EQ,NE,GT,...} macros instead of (D)CHECK with an embedded comparison. This gives better error messages and also does the right comparison for signed/unsigned mismatches. This will allow us to reenable the readability/check cpplint check. R=jarin@chromium.org Bug: v8:6837 Change-Id: I712580c2a4326e06ee3d6d0eb4ff8c7d24f5fdb9 Reviewed-on: https://chromium-review.googlesource.com/671227 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48135}
-
- 07 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=marja@chromium.org Change-Id: I7e1b471c425a28d77100ce3cda34511393b31365 Reviewed-on: https://chromium-review.googlesource.com/654901Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47892}
-
- 27 Jun, 2017 1 commit
-
-
titzer authored
R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2959963002 Cr-Commit-Position: refs/heads/master@{#46263}
-