- 29 May, 2018 19 commits
-
-
Mathias Bynens authored
Proposal repo: https://tc39.github.io/proposal-flatMap/ Bug: v8:7220 Change-Id: I79022fe26c609225dce21c0b45e8bedff12cc7b5 Reviewed-on: https://chromium-review.googlesource.com/1076427Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#53412}
-
Tobias Tebbi authored
This adds support for union types to Torque. There is a new type expression A | B to form the union of the type expressions A and B. This is only possible if A and B have a common supertype, to prevent nonsensical unions of types with different representations. Union types are normalized: A | B == B | A A | (B | C) == (A | B) | C A | A == A The subtyping rules are defined recursively: (A | B) <: C if A <: C and B <: C A <: (B | C) if A <: B or A <: C This allows to define Object as a union type: type Tagged generates 'TNode<Object>'; type Smi extends Tagged generates 'TNode<Smi>'; type HeapObject extends Tagged generates 'TNode<HeapObject>'; type Object = Smi | HeapObject; The type {Tagged} is introduced to have a common supertype of all tagged values, but we should not use it directly, because {Object} contains the additional information that there is nothing but {Smi} and {HeapObject} values. When mapping union types to CSA types, we select the most specific common supertype. For Number and Numeric, we already use union types on the CSA side. Since it is not possible to map to CSA union types in general, we special-case these two union types to map them to the CSA union types we already use. Bug: v8:7793 Change-Id: I7a4e466436f55d04012f29ef17acfdb957653908 Reviewed-on: https://chromium-review.googlesource.com/1076132Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53411}
-
Marja Hölttä authored
WeakFixedArray::Shrink is fragile when not used properly (might invalidate GC bookeeping (location of weak slots)). BUG=v8:7308 Change-Id: Id84329e2a78907f5f0bfafae32fc2a71b77edbe7 Reviewed-on: https://chromium-review.googlesource.com/1076236Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53410}
-
jgruber authored
The code slot of internal frames seems to be basically unused. As always, there are exceptions: 1. In elements.cc we check whether the current code object is the apply builtin. We can use a heap lookup through the frame's pc instead. 2. In isolate.cc we store a reference to the frame's code object to try and pack it into the minidump. This can safely be skipped. Remaining use-sites in frames.cc all skip INTERNAL frames by using the JavaScriptFrameIterator. Bug: v8:6666 Change-Id: I93c5035812838bbae5109415450915db12497b9c Reviewed-on: https://chromium-review.googlesource.com/1075047 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#53409}
-
Michael Starzinger authored
This removes the last embedded objects from {WasmCode} objects. We still embedded the {undefined} value into Wasm-to-JS wrappers, those are now loaded from the instance object similar to {null} values. The relocation information for {WasmCode} now no longer contains {EMBEDDED_OBJECT} as entries anywhere. Another step towards making code Isolate independent. R=titzer@chromium.org BUG=v8:7424 Change-Id: I720cd0230948f2063770595ceded373d9bb1e87d Reviewed-on: https://chromium-review.googlesource.com/1075268 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53408}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: I228518b1db0f83cb5928a14bc65722d2329b0c53 Reviewed-on: https://chromium-review.googlesource.com/1076228Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53407}
-
Ben L. Titzer authored
This CL further optimizes the decoding fastpath by moving feature checks off the critical path. For prototype opcodes that are enabled by feature flags, they are handled in a switch case off the main path. R=mstarzinger@chromium.org Change-Id: If40fedbaadb9c611c78bc2b7df035ced056cb39a Reviewed-on: https://chromium-review.googlesource.com/1076187Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53406}
-
Michael Starzinger authored
This makes the WasmCompileLazy builtin push a new WASM_COMPILE_LAZY frame type. We can thereby remove the workaround to return a relocated instance from the underlying runtime function. It also removes the last remaining embedded code objects from {WasmCode} objects. R=titzer@chromium.org Change-Id: Ic9c3f59339e8d7bed53ea0ed70ef50dfe640f1c6 Reviewed-on: https://chromium-review.googlesource.com/1073455 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53405}
-
Sigurd Schneider authored
Bug: v8:7779 Change-Id: I97d7a46039d9063e4169fa215f7f6857c80eb3b9 Reviewed-on: https://chromium-review.googlesource.com/1076087Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#53404}
-
Ben L. Titzer authored
A previous CL (https://chromium-review.googlesource.com/c/v8/v8/+/1075056) introduced an optimization the spill slot where the WASM instance is stored using the "secondary parameter location" mechanism used for JS functions and contexts. However the optimization checked the full machine type of the parameter, which was too narrow. As a result, the optimization never activated. This CL fixes that by only checking the machine representation. R=mstarzinger@chromium.org Change-Id: I60813935c8d119d2ddf794c797dad314b99ea867 Reviewed-on: https://chromium-review.googlesource.com/1076008Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53403}
-
Michael Starzinger authored
R=titzer@chromium.org TEST=mjsunit/regress/wasm/regress-799952 BUG=chromium:799952 Change-Id: Idb4a1938cc04f2f5b1ea33ba390c5917fea2c0c1 Reviewed-on: https://chromium-review.googlesource.com/1075967Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53402}
-
Hannes Payer authored
Bug: chromium:842083 Change-Id: Ie09b02bfe3fbc4f9ad2486843349d0f896b87b39 Reviewed-on: https://chromium-review.googlesource.com/1075532 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53401}
-
Sigurd Schneider authored
Change-Id: I2be450c6498ce863d5e36acf02db643788e6c8bf Reviewed-on: https://chromium-review.googlesource.com/1068045 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53400}
-
jgruber authored
Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves all remaining Array constructor stubs to builtins. Bug: v8:6666 Change-Id: I5989a7480697a506a1bae1929ddd2e3f1d655048 Reviewed-on: https://chromium-review.googlesource.com/1074759 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53399}
-
Tobias Tebbi authored
Bug: v8:7754 Change-Id: I8548d0e07fabc23bb5f65b1f91683c756195ae1b Reviewed-on: https://chromium-review.googlesource.com/1071654Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53398}
-
Tobias Tebbi authored
This fixes the bug that cast<A>(...) could be interpreted as cast<B>(...) if B is a subtype of A. Bug: v8:7793 Change-Id: Ia03ce832f8c14ced09114d41c935be06d4629d99 Reviewed-on: https://chromium-review.googlesource.com/1075890 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#53397}
-
jgruber authored
This is the initial step towards moving all array constructor stubs to builtins. Bug: v8:6666 Change-Id: I49b86e43ab4ee3d0889853a2624e189ff7d2e705 Reviewed-on: https://chromium-review.googlesource.com/1073417Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53396}
-
Michael Lippautz authored
This reverts commit e839484e. Reason for revert: https://ci.chromium.org/buildbot/client.v8/V8%20Linux64%20-%20debug/22300 Original change's description: > [infra] Add gc_stats variant to Linux64 debug bot > > No-try: true > Bug: v8:7760 > Change-Id: I2a4e91b58de4387a4bfa5b79681db25880af8954 > Reviewed-on: https://chromium-review.googlesource.com/1068643 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53394} TBR=machenbach@chromium.org,mlippautz@chromium.org Change-Id: I7342341fb63742de4e51c0df65e8323f2a6dbd7a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7760 Reviewed-on: https://chromium-review.googlesource.com/1075927Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#53395}
-
Michael Lippautz authored
No-try: true Bug: v8:7760 Change-Id: I2a4e91b58de4387a4bfa5b79681db25880af8954 Reviewed-on: https://chromium-review.googlesource.com/1068643 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#53394}
-
- 28 May, 2018 15 commits
-
-
Junliang Yan authored
Port a55d8632 Original Commit Message: Its contents are now inlined into the one remaining call site. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If0ba82784c0b9b095301e88141e1ff5b1fd507be Reviewed-on: https://chromium-review.googlesource.com/1075607Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53393}
-
Hannes Payer authored
Change-Id: I4cb2e72fdc008ee855014d703af33d2e937bada3 Reviewed-on: https://chromium-review.googlesource.com/1070148 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53392}
-
Ben L. Titzer authored
This CL improves the parsing and validation speed of WASM bytecode by eliminating a call to get the "simple opcode signature" on the fast path. It introduces a byte-indexed array that points directly to a FunctionSig*. By declaring the array in the wasm-opcodes.h header file and initializing (constexpr) in the wasm-opcodes.cc file, the decoder can use this array directly in its first test. (Note that constexpr obviates the need for LazyInitialize in previous iterations of this mechanism). There are two more calls on this fast path that can be simplified, WasmOpcodes::IsSignExtensionOpcode() and WasmOpcodes::IsAnyRefOpcode(). These calls are needed to check for a feature flag and can be implemented differently in a followup CL. R=mstarzinger@chromium.org Change-Id: Ibb4adb1134932c7e0b6a35facec4d8dd8c998c56 Reviewed-on: https://chromium-review.googlesource.com/1075276Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53391}
-
Junliang Yan authored
Port 7d161e4d Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the InternalArrayConstructorStub to a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id16d4a5dc49d6832d5976aace17c33807270e50f Reviewed-on: https://chromium-review.googlesource.com/1074558Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53390}
-
Igor Sheludko authored
The result of SmiUntag is a sign-extended word-size value. Bug: v8:7703 Change-Id: I85dc87b541cab78286e47e2147c16c6a0939f509 Reviewed-on: https://chromium-review.googlesource.com/1073232Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53389}
-
Hannes Payer authored
Bug: chromium:842083 Change-Id: Ic0cfd84d56f48e61711cdbb695178837e1570e21 Reviewed-on: https://chromium-review.googlesource.com/1073427 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53388}
-
Ben L. Titzer authored
This CL adds support for "secondary parameter locations" for the WASM instance parameter. Since this parameter is spilled onto the stack by the function prologue, it is not necessary to allocate additional spill slots for it. This saves both code space and runtime. R=mstarzinger@chromium.org Change-Id: I440e2c58cd2a227be8a7f386df5193d8fb729fd1 Reviewed-on: https://chromium-review.googlesource.com/1075056 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53387}
-
Marja Hölttä authored
WeakFixedArrays can also contain strong pointers. (Separating this fix from https://chromium-review.googlesource.com/c/v8/v8/+/1075053 ; after that CL tests will fail without this fix.) BUG=v8:7308 Change-Id: I0d47ab179625bcbf6149cf02ad696f8af250ae8d Reviewed-on: https://chromium-review.googlesource.com/1075270Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53386}
-
Georg Neis authored
Bug: v8:7791 Change-Id: I0df79f39c6f60b3cfbdc0161f7c085c635659d81 Reviewed-on: https://chromium-review.googlesource.com/1075054Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#53385}
-
Yang Guo authored
Bug: v8:7760 Change-Id: Id7bfa18f3ac0b7d62e99d0d530ea0cb9427e198e Reviewed-on: https://chromium-review.googlesource.com/1074693 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#53384}
-
Michael Starzinger authored
This extends the validity checking of relocation information from only non-anonymous {WasmCode} objects to all (even anonymous) such objects, including code being copied in from the garbage-collected heap. R=jgruber@chromium.org Change-Id: Icbc842ad819f4471cc11d3d19bbde1d192731569 Reviewed-on: https://chromium-review.googlesource.com/1073284Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53383}
-
Yang Guo authored
Introduce a new public API called CodeEventListener to allow embedders to better support external profilers and other diagnostic tools without relying on unsupported methods like --perf-basic-prof. Bug: v8:7694 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I063cc965394d59401358757634c9ea84c11517e9 Co-authored-by: Daniel Beckert <daniel@sthima.com.br> Reviewed-on: https://chromium-review.googlesource.com/1028770 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53382}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: I238835a63403e3688f271fc04f4a80c4b3c767c0 Reviewed-on: https://chromium-review.googlesource.com/1074656Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53381}
-
Jaroslav Sevcik authored
Bug: v8:7790 Change-Id: I9ca667109b17c5787aca8499dc379238cd43e5cb Reviewed-on: https://chromium-review.googlesource.com/1073418 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#53380}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/244ad31..39cffda TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I92a7ae51de2eec216a072bfa80413dd5db556948 Reviewed-on: https://chromium-review.googlesource.com/1074560 Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#53379}
-
- 27 May, 2018 1 commit
-
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/31a054c..244ad31 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Ie4cb30a5c5524787703855e55265d099e8a656ff Reviewed-on: https://chromium-review.googlesource.com/1074534Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#53378}
-
- 26 May, 2018 2 commits
-
-
Junliang Yan authored
Port 111c5735 Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the ArrayConstructorStub to a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Icc6af15d80eb5c95a191832eb9636ebe97e61e07 Reviewed-on: https://chromium-review.googlesource.com/1074548Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53377}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/f86e77c..31a054c Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/0e97383..0043a4a Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/4d2e8bf..f16fdf3 Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/34f5f28..3543e21 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Icc3a21fc3cd6f39cbcbab2f6e7f4b6ef63476962 Reviewed-on: https://chromium-review.googlesource.com/1074069Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#53376}
-
- 25 May, 2018 3 commits
-
-
Aseem Garg authored
R=gdeepti@chromium.org,bbudge@chromium.org,clemensh@chromium.org,titzer@chromium.org BUG=v8:6020 Change-Id: I9d307a70d44504dc0e84e3e09d48bcc9b9542462 Reviewed-on: https://chromium-review.googlesource.com/1071095 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53375}
-
Aseem Garg authored
R=gdeepti@chromium.org,bbudge@chromium.org,clemensh@chromium.org,titzer@chromium.org BUG=v8:6020 Change-Id: I05bb2124751f64565ad4e22f267fe42a3e0f1845 Reviewed-on: https://chromium-review.googlesource.com/1070935 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53374}
-
Bill Budge authored
R=ahaas@chromium.org Also-by: ahaas@chromium.org Change-Id: Ieb7e20dedcbd3def7e6c4f42e6392306ac3ed1f7 Reviewed-on: https://chromium-review.googlesource.com/1073505Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#53373}
-