- 22 Nov, 2018 40 commits
-
-
Daniel Clifford authored
Bug: v8:7793 Change-Id: Iccf60ed192fd91456caa730d5ea98dd3abe3614e Reviewed-on: https://chromium-review.googlesource.com/c/1348076Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#57752}
-
Toon Verwaest authored
If we're verifying/accumulating/throwing all possible classifier errors anyway, we don't need our own classifier. Change-Id: Ibfbdc4e5151190385598fc50bda9f9921b6aedce Reviewed-on: https://chromium-review.googlesource.com/c/1348080 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57751}
-
Igor Sheludko authored
This CL also makes existence of the optional padding field in JSArrayBuffer explicit and ensures that the field stays cleared after initialization. Bug: v8:8477, v8:8238 Change-Id: Ic4c5f6b0066903651f15bea91fbfe32ba62fa0e6 Reviewed-on: https://chromium-review.googlesource.com/c/1347469 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#57750}
-
Peter Marshall authored
This API allows the embedder to provide a stack and PC, FP and SP registers. V8 will then attempt to unwind the stack to the C++ frame that called into JS. This API is signal-safe, meaning it does not call any signal-unsafe OS functions or read/write any V8 state. Bug: v8:8116 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I7e3e73753b711737020b6a5f11946096658afa6f Reviewed-on: https://chromium-review.googlesource.com/c/1186724 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#57749}
-
Ulan Degenbaev authored
Now the accessors do not use the LoadWeakFixedArrayElement function. Bug: v8:8486 Change-Id: Icccf294c25bbedb118cb2dd7a422dc71d70c727b Reviewed-on: https://chromium-review.googlesource.com/c/1348071Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57748}
-
Sergiy Byelozyorov authored
TBR=sergiyb@chromium.org Bug: chromium:903688 Change-Id: I006e0e47b64edabdafadf030b09864433b9486d6 Reviewed-on: https://chromium-review.googlesource.com/c/1340101 Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#57747}
-
Ben L. Titzer authored
Add a profiler for functions imported to WASM instances. This profiler is implemented entirely in JavaScript and monkey-patches WebAssembly.instantiate() and new WebAssembly.Instance() to instrument the imported functions to each instance in order to count their invocations and cumulative time. R=mstarzinger@chromium.org Bug: v8:8423 Change-Id: If456355aba07dc69c5500bafbe35fc56b31486af Reviewed-on: https://chromium-review.googlesource.com/c/1347488 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57746}
-
Junliang Yan authored
Port fed7bb50 Original Commit Message: This test cases ensures that it is possible to maintain a coherent instruction cache by using {Assembler::FlushICache} in any order with respect to changing page permissions via {SetPermissions}. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:6792 LOG=N Change-Id: I23d5d0828dcbdd527aaa8708fa726a7cb5cbedfe Reviewed-on: https://chromium-review.googlesource.com/c/1347511Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#57745}
-
Igor Sheludko authored
this will allow to add raw fields to the native context in a pointer compression friendly way. This CL also adds a microtask_queue field to native context which will be used in a follow-up CL. Bug: v8:8238, v8:7703 Change-Id: I5ecf72dbc52e8261b694551cbc8476f967967723 Reviewed-on: https://chromium-review.googlesource.com/c/1348073 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57744}
-
Toon Verwaest authored
Instead, simply track it as a valid binding pattern. To do this in the case of parenthesized formals, we delay throwing the binding pattern error for parenthesized (and async "calls") until we know it's not an arrow function head by itself. This guarantees that if an arrow head is a valid binding pattern, it's either a valid parenthesized head or a valid identifier, or invalid pattern ("array" or "object" literal style). We can detect the latter case by checking that the current token is not a RPAREN and the expression isn't an identifier. (Alternatively we could check that the curren token is RBRACE or RBRACK...) Bug: chromium:907575 Change-Id: Ie40cc3235d3188f2620b6c089a0f49d93604dda6 Reviewed-on: https://chromium-review.googlesource.com/c/1348078Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57743}
-
George Wort authored
This adds the function call functionality for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I8ca00b370c629157c91fd9a905f34ea41ec53d29 Reviewed-on: https://chromium-review.googlesource.com/c/1346336Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57742}
-
George Wort authored
Add a check to bailout in the case when F32 parameters are used for Arm. Bug: v8:6600, chromium:904026, chromium:904606 Change-Id: I7f70c0806994a89dca31ef7e0b68f91d68484936 Reviewed-on: https://chromium-review.googlesource.com/c/1346492 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57741}
-
Michael Starzinger authored
R=ulan@chromium.org BUG=chromium:845877 Change-Id: If8a9e2f107bb775494b1d4a83c3fb045bb846b10 Reviewed-on: https://chromium-review.googlesource.com/c/1347482Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57740}
-
Jakob Gruber authored
There's no reason to scatter this all over when we have a single choke point in Isolate::Init. Drive-by: Remove unused DLH builtin kind. Bug: v8:8238 Change-Id: I46373a1044e51d90d3a9c3e772f5930d57097937 Reviewed-on: https://chromium-review.googlesource.com/c/1347481Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57739}
-
Jaroslav Sevcik authored
Bug: v8:8361, v8:7790 Change-Id: I1d7a8cba1873efff9d49b12994a1561879d200de Reviewed-on: https://chromium-review.googlesource.com/c/1347487Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#57738}
-
Sigurd Schneider authored
Notry: true Change-Id: I06cbd9a2a49f602dafd43e2d3b4e386d65c7da23 Bug: v8:7327 Reviewed-on: https://chromium-review.googlesource.com/c/1348070Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#57737}
-
Igor Sheludko authored
Bug: v8:8477, v8:8238 Change-Id: I0b39b0c13c17acd08fc754db1897f00741466122 Reviewed-on: https://chromium-review.googlesource.com/c/1346337Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57736}
-
Toon Verwaest authored
Bug: chromium:907669 Change-Id: I7633780b1f3a1a290593818a3e558c5a1bb81502 Reviewed-on: https://chromium-review.googlesource.com/c/1347486 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57735}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org, mathias@chromium.org Bug: v8:8467 Change-Id: I7369fa993d0762cf9c3c6f55361d074d067a0eb5 Reviewed-on: https://chromium-review.googlesource.com/c/1338347Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#57734}
-
Marja Hölttä authored
Now that Map just contains a pointer, and is passed by value to Logger::MapDetails, printing the this pointer in Map::PrintMapDetails no longer makes sense, but we need to print the underlying pointer. BUG=v8:3770 Change-Id: I87f41c796dbff7a8800731bb1d63a7482b9ff71c Reviewed-on: https://chromium-review.googlesource.com/c/1347485Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#57733}
-
Toon Verwaest authored
Change-Id: Ibe539f0c90fdcd93ba5da40240c6325138a05bac Reviewed-on: https://chromium-review.googlesource.com/c/1347480Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57732}
-
Peter Marshall authored
Bug: chromium:906043 Change-Id: I308b29af0644c318d73926b27e65a94913c760c7 Reviewed-on: https://chromium-review.googlesource.com/c/1346115 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57731}
-
Ross McIlroy authored
Now that Asm.js code is also context independent, move code to ensure context independence from BytecodeGenerator to FinalizeUnoptimizedCode. Change-Id: I7738eb3b347ea82764ecd3b5548dc82cb06d2f4e Reviewed-on: https://chromium-review.googlesource.com/c/1347483Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57730}
-
George Wort authored
This adds stack access functionality for the arm32 port of Liftoff. Bug: v8:6600 Change-Id: I163ab133efc63045f37d1387fd5f32be333bc501 Reviewed-on: https://chromium-review.googlesource.com/c/1346333 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57729}
-
Clemens Hammacher authored
We were missing a few undefs there. Add a script to auto-generate object-macros-undef.h from object-macros.h and update object-macros-undef.h with the output of that script. R=marja@chromium.org Bug: v8:5402, v8:8238 Change-Id: I6917940dcbfdf68039a25dc7fb8c219fe55adb10 Reviewed-on: https://chromium-review.googlesource.com/c/1345991Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57728}
-
Ulan Degenbaev authored
This fixes places that assume that DescriptorArray is a WeakFixedArray. In addition to the existing: - LoadDetailsByKeyIndex - LoadValueByKeyIndex - LoadFieldTypeByKeyIndex This introduces Load*ByDescriptorEntry versions and LoadKeyByKeyIndex. Bug: v8:8486 Change-Id: I958867138df7756c715ae3d449b3206a32076514 Reviewed-on: https://chromium-review.googlesource.com/c/1346501 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57727}
-
Jakob Gruber authored
We recently changed embedded builtins to be emitted as raw assembly files during the build process in order to support MSVC (which doesn't support inline assembly on x64). Ninja uses ml.exe / ml64.exe as the assembler on all Windows builds (msvc & clang); these unfortunately don't support large data streams well and can take over 5 minutes for embedded.S. With this CL we work around this by going back to inlined assembly for clang Windows builds. Bug: v8:6666, v8:8475 Change-Id: I33beb3f5a1df07de3299df0fc2be4e8983701db0 Reviewed-on: https://chromium-review.googlesource.com/c/1344114 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#57726}
-
Dan Elphick authored
Adds a new field rare_data of type FunctionTemplateRareData to FunctionTemplateInfo and moves 8 others which are unset on 90% of FunctionTemplateInfo objects to this field. Getters like prototype_template() are changed to GetPrototypeTemplate() to indicate they're not trivial. The setters are replaced with static methods (e.g. SetPrototypeTemplate) that take an Isolate and the template object, since they can now perform allocation. Bug: v8:8478 Change-Id: If72b132ade4ca4a3f803f913761c9caddc0e9dd6 Reviewed-on: https://chromium-review.googlesource.com/c/1342519 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57725}
-
Michael Achenbach authored
Many tests were already skipped in debug mode, but they kept running on CQ which sets dcheck_always_on, probably equally slow. Some other tests are marked as slow based on a recent run of the arm64 sim trybot. NOTRY=true Bug: v8:7783 Change-Id: Ic022518edfa112ea6d228ae9a68653c99651dbb4 Reviewed-on: https://chromium-review.googlesource.com/c/1347479Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#57724}
-
Ulan Degenbaev authored
Previosly, LoadArrayElement assumed that the array is a FixedArray. The PropertyArray and WeakFixedArray pretended to be a FixedArray and had static asserts about length offsets. This patch make LoadArrayElement generic and uses a new LoadArrayLength function to fetch the length of the array without hard-coding the length offset. Bug: v8:8486 Change-Id: Ib27132bf3fcecc135ad632c4227c57ca0a05036f Reviewed-on: https://chromium-review.googlesource.com/c/1346498 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#57723}
-
Clemens Hammacher authored
Remove PrintableInstructionSequence and friends, just overload operator<< directly for the respective types. R=herhut@chromium.org Bug: v8:8238 Change-Id: I67713978ab06f7ec5309e52b4090256480f362b1 Reviewed-on: https://chromium-review.googlesource.com/c/1346113Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Stephan Herhut <herhut@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57722}
-
Jakob Gruber authored
With the last remaining TF code stubs gone, c-s-a.{h,cc} is no longer needed in the final binary. Bug: v8:7777 Change-Id: I8573199401678758698df56e0cb680f125f06bdc Reviewed-on: https://chromium-review.googlesource.com/c/1346329 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#57721}
-
George Wort authored
Bug: v8:6600 Change-Id: I4bf99aeac7336eda8989bc6772d8bd34c44117ea Reviewed-on: https://chromium-review.googlesource.com/c/1346112 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57720}
-
Jakob Gruber authored
This CL moves the two remaining IC stubs to builtins, generating a dedicated builtin for each KeyedAccessStoreMode variant. Bug: v8:7777 Change-Id: I540b3c3437adb94094771a19713e71ec8a349553 Reviewed-on: https://chromium-review.googlesource.com/c/1346095Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57719}
-
Sigurd Schneider authored
Notry: true Change-Id: I4de1f561682e8ad7fac0358c259efa44559c1389 Bug: v8:7327 Reviewed-on: https://chromium-review.googlesource.com/c/1347477Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#57718}
-
Sigurd Schneider authored
This CL moves optimization capabilities from typed lowering to typed optimization. In particular, this allows retyping of Speculative to number optimizations depending on their input types. This can save type checks if we know that inputs are already in SafeIntegerRange and uses are truncating to 32bit integers. This change recovers the performance lost to 31bit Smis on Octane/crypto on x64: 32bit nosmis avg 30,984.84 stddev 180.52 31bit smis (w/o patch) avg 29,438.52 stddev 120.30 -4.99% 31bit smis avg 31,274.52 stddev 176.26 +0.93% +6.24% Change-Id: I86d6e37305262336f4f7bd46aac0d2cbca11e8c1 Bug: v8:8344 Reviewed-on: https://chromium-review.googlesource.com/c/1323729 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#57717}
-
Sigurd Schneider authored
This should make it possible to load a new graph without reloading Turbolizer. Notry: true Change-Id: Ic6f8bdf7fee658836612043d8893614ae54d7e15 Bug: v8:7327 Reviewed-on: https://chromium-review.googlesource.com/c/1347476 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#57716}
-
Daniel Clifford authored
This is a reland of 74a0ad7d Original change's description: > [torque] Implement intrinsics support > > Also add the first intrinsic and usage of it: %RawCast > > Bug: v8:7793 > Change-Id: Id1e3288e8bab6adb510731076a39590e8fd156be > Reviewed-on: https://chromium-review.googlesource.com/c/1344152 > Commit-Queue: Daniel Clifford <danno@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57692} Bug: v8:7793 Change-Id: I315c7d44f265d0f937598e8afb1c28b08d6a23da Reviewed-on: https://chromium-review.googlesource.com/c/1347472Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#57715}
-
Jakob Gruber authored
In preparation for converting these stubs to builtins. This turns compile-time elements kind parameters into a runtime check, essentially emitting all contained logic for each elements kinds and dispatching at runtime. Bug: v8:7777 Change-Id: I7a5c97ea2775e9f8ff469db6ab577de6c65c6bbe Reviewed-on: https://chromium-review.googlesource.com/c/1340282 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#57714}
-
Hannes Payer authored
Change-Id: Ie2d740b6b584c5104849e46c1286550c80f1f5c9 Reviewed-on: https://chromium-review.googlesource.com/c/1340252Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57713}
-