- 29 May, 2018 29 commits
-
-
Andreas Haas authored
This CL switches to the new taskrunner API in the MemoryReducer. We want to remove the old API eventually so that there is only one API for task posting. R=ulan@chromium.org CC=gab@chromium.org Change-Id: I1dd16e42dc0fca013a97c76dfce9c6479b97521b Reviewed-on: https://chromium-review.googlesource.com/1061531Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53422}
-
Simon Zünd authored
This CL creates the "tools/torque" directory. It moves the existing two scripts (making the parser and formatting Torque code) into that director. The extension lives in "tools/torque/vscode-torque" and currently only provides basic syntax highlighting support. The easiest way to install the extension is to simply create a symlink into your local vscode extension directory (see README.md). R=jgruber@chromium.org, tebbi@chromium.org Change-Id: Ifc22b615341ed18f91c9b046090f569fcc083ab6 Reviewed-on: https://chromium-review.googlesource.com/1076548 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53421}
-
Simon Zünd authored
The regression test 2185-2 measured the Array.p.sort time for various pre-sorted data configurations. This CL adds the various data configurations to the ArraySortPreSorted benchmark and removes the regression test altogether. R=cbruni@chromium.org, jgruber@chromium.org Change-Id: I6e2eb235e4a7578f4a107229bfc6a9e89a3aa5e3 Reviewed-on: https://chromium-review.googlesource.com/1076188 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#53420}
-
🎉 Mathias Bynens authoredIntent to ship: https://groups.google.com/d/msg/v8-users/15GL4-UHEcE/OEKOou3bBgAJ Bug: v8:7220 Change-Id: Ib1efde29e27b956db3d8ebf12ff7a3f163db7c22 Reviewed-on: https://chromium-review.googlesource.com/1076335Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#53419}
-
Camillo Bruni authored
Change-Id: I7bf0144bacd0572a42b98d0a0f19df3daf63128b Bug: chromium:840785 Reviewed-on: https://chromium-review.googlesource.com/1051240 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#53418}
-
Junliang Yan authored
Port c52b7af5 R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I75ec0305f618336ce63fb664ae356dfcf48948c4 Reviewed-on: https://chromium-review.googlesource.com/1075468Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53417}
-
Simon Zünd authored
This CL is a proposal to add "checked" casts (CAST in CSA) to the Torque language. The CL adds the "unsafe_cast<>" operator that emits a "CAST". Example: let n: Number = ...; ... if (TaggedIsSmi(n)) { let m: Smi = unsafe_cast<Smi>(n); ... } The cast wont incur a runtime overhead now. R=tebbi@chromium.org Change-Id: I9fca90d1d11e61617ba0270e5022fd66200e2195 Reviewed-on: https://chromium-review.googlesource.com/1070151 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53416}
-
Anna Henningsen authored
This adds a convenience overload for `EscapableHandleScope::Escape()` which moves `MaybeLocal<T>`s into the outer scope, like a regular `Local<T>`. This basically moves the syntactic clutter of having to write `maybe_local.FromMaybe(Local<Foo>())` instead of just `maybe_local` to a central location. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I1d87d75c6564b10e8ec34957bdd3eac46ffea917 Reviewed-on: https://chromium-review.googlesource.com/1056529Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53415}
-
Tobias Nießen authored
This change fixes the usage message of arm, mips, mips64, ppc and s390 simulators. Change-Id: Ib00d3049cb1c81c2653ee8b66d21eabde8f16f76 Reviewed-on: https://chromium-review.googlesource.com/1059623Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53414}
-
Sebastien Marchand authored
see crbug.com/841460 , we recently hit some build issues when using Goma + jumbo builds because of a conflict on the definition of CONST, v8 defines it in globals.h and including windows.h also defines it. It should be possible to fix this by adding a bunch of #undef CONST but it seems a little bit hacky and might not always work (this could only fix the problem temporary if the jumbo merge limit changes and cause some include files to get included in a different order). Renaming the v8 definition of CONST to kConst, this follows the style guide guidelines: "there is no reason to change old code to use constant-style names, unless the old names are actually causing a compile-time problem" (https://google.github.io/styleguide/cppguide.html#Enumerator_Names) I also had to turn the PropertyConstness enum into an enum class to avoid some conflicts (both PropertyConstness and VariableMode define kConst). Bug: chromium:841460 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I2b70b9095374e88a5ae364cc557b39f20a3ab60f Reviewed-on: https://chromium-review.googlesource.com/1064197Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org> Cr-Commit-Position: refs/heads/master@{#53413}
-
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 11 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}
-