- 28 May, 2018 13 commits
-
-
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 24 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}
-
Junliang Yan authored
Port 0094defa Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the ArrayNArgumentsConstructorStub to a builtin. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ibf5e33cd14ef5baece9ddb660ab54b07233e8a20 Reviewed-on: https://chromium-review.googlesource.com/1073056Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53372}
-
Eric Holk authored
R= ahaas@chromium.org Also-By: ahaas@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I8e34bb93df0cb7174e6c2fc2c36fe8697f4f88c4 Reviewed-on: https://chromium-review.googlesource.com/1073608Reviewed-by: Eric Holk <eholk@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#53371}
-
Sreten Kovacevic authored
Port of commit 8ac37bc3. RelocInfo::INTERNAL_REFERENCE_ENCODED is used only on mips, mips64 and ppc. Original commit message: `The RelocInfo::RUNTIME_ENTRY relocation mode is only used for deopt points in JavaScript code and should never appear in WebAssembly code.` Change-Id: Ic595103740dc3c349836114f9cbc815865c5b54c Reviewed-on: https://chromium-review.googlesource.com/1073420Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#53370}
-
Junliang Yan authored
Port 70cede39 Original Commit Message: Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves CallApiGetter and the 0/1 argument case of CallApiCallback to builtins. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I15677f91ad1f5cac05d4760f4cdd1561982a0621 Reviewed-on: https://chromium-review.googlesource.com/1073055Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53369}
-
Ben L. Titzer authored
R=mstarzinger@chromium.org Change-Id: I0976bfa57b9ec48fae2b912e78bacfee4f8eeafb Reviewed-on: https://chromium-review.googlesource.com/1072654 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53368}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: Ia2217d4f3ff9c8f1929ac622c96d6c4b75e6c091 Reviewed-on: https://chromium-review.googlesource.com/1072655Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53367}
-
Junliang Yan authored
Port 5674812c Original Commit Message: At runtime, calls to embedded builtins do not need to take the indirection through the off-heap trampoline. We can simply inline the trampoline instead. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4b18f3a957a41af28da34b503015271573949888 Reviewed-on: https://chromium-review.googlesource.com/1073193Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53366}
-
Ben L. Titzer authored
This was originally a flag for debugging the compilation of a module by skipping compilation of the first N functions in a module. This flag is not properly respected anymore, and is an unnecessary complication. R=herhut@chromium.org Change-Id: If9bf80245f6982a8383ca3865c599d58319feba9 Reviewed-on: https://chromium-review.googlesource.com/1061468Reviewed-by: Stephan Herhut <herhut@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53365}
-
jgruber authored
Bug: v8:6666 Change-Id: Ibb5b8b2012041e908ac7f109abf0a724b12c0e72 Reviewed-on: https://chromium-review.googlesource.com/1073447Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53364}
-
jgruber authored
Its contents are now inlined into the one remaining call site. Bug: v8:6666 Change-Id: Icfcf89013506fec880ffd84eaa88b91e818e28c0 Reviewed-on: https://chromium-review.googlesource.com/1073311Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53363}
-
Dan Elphick authored
Modifies several Type:: methods to take an Isolate to pass through to BitSetType::Lub as well as their call sites. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9ac769c4c658995421fd28b9b1d77d6f84627116 Reviewed-on: https://chromium-review.googlesource.com/1071515 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53362}
-
Dan Elphick authored
Removes use of HeapObject::GetIsolate() from Object::BooleanValue in preparation for removing the method. Requires adding Isolate parameter to CommonOperatorReducer constructor. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: If735e71df3288bf1eb11576605c2d95a19472181 Reviewed-on: https://chromium-review.googlesource.com/1071653Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53361}
-
jgruber authored
Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the InternalArrayConstructorStub to a builtin. Bug: v8:6666 Change-Id: I8cd801bd9218ca9ef0853ed99c7a69090af5c9f9 Reviewed-on: https://chromium-review.googlesource.com/1072608Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53360}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/1e1a86d..f86e77c Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/94288c2..893eb86 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/1986f5a..0e97383 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ebdd0db..4d2e8bf Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/833f5eb..34f5f28 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I2f80f295c0d5a2c527eb1d609051378151110333 Reviewed-on: https://chromium-review.googlesource.com/1073188 Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#53359}
-
Marja Hölttä authored
If the optional fields are not set, trying to cast to the Object subtype fails. Change-Id: I386c6b23cbd3d282a72093dfc78966d0046578c3 Reviewed-on: https://chromium-review.googlesource.com/1073307Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53358}
-
jgruber authored
Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the ArrayConstructorStub to a builtin. Bug: v8:6666 Change-Id: Iff4bff99cd911a7f5f138819801c7812b75ea969 Reviewed-on: https://chromium-review.googlesource.com/1071519 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@{#53357}
-
jgruber authored
Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves the ArrayNArgumentsConstructorStub to a builtin. Bug: v8:6666 Change-Id: Ied303334874251415a9057abf612d76dd8330aa6 Reviewed-on: https://chromium-review.googlesource.com/1071450 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53356}
-
jgruber authored
Calls from embedded builtins to stubs are expensive due to the indirection through the builtins constants table. This moves CallApiGetter and the 0/1 argument case of CallApiCallback to builtins. Bug: v8:6666 Change-Id: I49c4917253f790a3b947f42c50d6308a1ab99d91 Reviewed-on: https://chromium-review.googlesource.com/1070980Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53355}
-
jgruber authored
At runtime, calls to embedded builtins do not need to take the indirection through the off-heap trampoline. We can simply inline the trampoline instead. Bug: v8:6666 Change-Id: Idb7d504fdfee173a0b134fbc74bd5dc6d09629cb Reviewed-on: https://chromium-review.googlesource.com/1068742Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53354}
-
Tobias Tebbi authored
Bug: v8:7754 Change-Id: I4664a86ca0daccdd977f6a1b89c0f33294f084a1 Reviewed-on: https://chromium-review.googlesource.com/1073149Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53353}
-
Michael Starzinger authored
This loads references to {null} values from the instance object instead of embedding them into the generated code. It is one step towards making the {WasmCode} objects independent of the Isolate. Note that this also fixes an issue with the serializer/deserializer that failed to properly serialize {null} values and accidentally collapsed them to {undefined} values instead. R=ahaas@chromium.org TEST=mjsunit/regress/wasm/regress-7785 BUG=v8:7424,v8:7785 Change-Id: Ie436c2d96890e7c8c89ffe2bd4189a759254775b Reviewed-on: https://chromium-review.googlesource.com/1070981 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53352}
-