- 13 Jun, 2018 12 commits
-
-
Georgia Kouveli authored
Replace all uses of Deoptimizer::BailoutType and CodeEventListener::DeoptKind with DeoptimizeKind from src/globals.h. Change-Id: I5b9002583a69bc43d995cacc7619b018e5a70727 Reviewed-on: https://chromium-review.googlesource.com/1097331 Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#53695}
-
Dominik Inführ authored
After marking ephemerons process the worklist in parallel. Bug: chromium:844008 Change-Id: Id750c19d0f564675f051cc4f9933d41fa0afb42b Reviewed-on: https://chromium-review.googlesource.com/1097490 Commit-Queue: Dominik Inführ <dinfuehr@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53694}
-
Igor Sheludko authored
Bug: v8:5269, v8:7703 Change-Id: If80923b767b6bf3533b4d53039b1b5125c670cf1 Reviewed-on: https://chromium-review.googlesource.com/1097486 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53693}
-
Clemens Hammacher authored
The often used construct {OFStream(stdout)} does not work on Android. This CL introduces an {StdoutStream} which behaves exactly like {OFStream(stdout)} on non-android platforms, and redirects to the Android log on appropriate systems and configurations. R=mstarzinger@chromium.org Bug: v8:7820 Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b Reviewed-on: https://chromium-review.googlesource.com/1088911Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53692}
-
Dominik Inführ authored
Bug: chromium:844008 Change-Id: Ic736bb91c13da5d52baa53cd3630978b9819f66b Reviewed-on: https://chromium-review.googlesource.com/1097488Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53691}
-
Dominik Inführ authored
Mark values if their corresponding key was already marked. Also take into account the size for backing store. Bug: chromium:844008 Change-Id: I58570f935c69fb39b686fd22dc93caba309f83b2 Reviewed-on: https://chromium-review.googlesource.com/1097400Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53690}
-
Hannes Payer authored
Change-Id: I26c2ba8d22aecac0e1d6a406eb90521ff52e1ec4 Reviewed-on: https://chromium-review.googlesource.com/1097119 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53689}
-
Igor Sheludko authored
Bug: v8:5269, v8:7703 Change-Id: Ib9934e1c3685f731ba588f12e253fce24c03b151 Reviewed-on: https://chromium-review.googlesource.com/1097485Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53688}
-
Clemens Hammacher authored
We assumed that if the ErrorThrower is empty after instantiation, then instantiation succeeded and an instance exists which we can return. However, if the start function throws, no instance exists, which caused a crash. With this CL we handle execeptions thrown by the start function correctly. R=clemensh@chromium.org Bug: chromium:848966 Change-Id: I51dc94e6bc563aa4a4b88c44a14e831af913fbd8 Reviewed-on: https://chromium-review.googlesource.com/1092234Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53687}
-
Clemens Hammacher authored
For serialization, we do not need the {WasmCompiledModule}. All we need is the {NativeModule}. R=mstarzinger@chromium.org Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Iff7dc9cde3b1ab777028dbafcc1c870e45e28a93 Reviewed-on: https://chromium-review.googlesource.com/1097480Reviewed-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@{#53686}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Iddce87713b09450bf069a12f0aa7aa55c7f131e1 Reviewed-on: https://chromium-review.googlesource.com/1097120Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53685}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/41d1fdd..169887d Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/09b82f4..fdacd16 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/8e6f58c..e09b684 Rolling v8/third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk/+log/5131d44..8c08316 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/145d057..9077ec7 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7e986fd..37fc68b TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I97b4f431dcbf67ace6dc2f1c32bafaa6b886c487 Reviewed-on: https://chromium-review.googlesource.com/1098522 Reviewed-by: <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#53684}
-
- 12 Jun, 2018 28 commits
-
-
Ben Smith authored
Mutable globals are now included in the wasm v1 spec. Bug: v8:7625 Change-Id: Ib9b92d8348102f99a3b92820d0057b2c11a1e49a Reviewed-on: https://chromium-review.googlesource.com/1095650 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53683}
-
Joyee Cheung authored
This is a reland of a229e121 The original commit broke a layout test in Blink. The test in Blink has been marked to be skipped and will be updated once this patch lands. See https://chromium-review.googlesource.com/c/chromium/src/+/1097455 Original change's description: > [builtins] set DataView.length to 1 > > Refs: https://github.com/tc39/ecma262/pull/1131 > Test: test262/built-ins/DataView/length > Bug: v8:7816 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I66a06734bd32cd2043a8d04728b2185f6093bd69 > Reviewed-on: https://chromium-review.googlesource.com/1094980 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53649} Bug: v8:7816 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: If63be80523a68d3a2b515fe1d55a243d2dd2a9b2 Reviewed-on: https://chromium-review.googlesource.com/1097568Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#53682}
-
Ben Smith authored
Mutable globals are stored in the instance differently, so they must be exported differently as well. Also fix a counting bug that occurred when a module contained a global and an imported mutable global (CalculateGlobalOffsets is called twice). Bug: v8:7625 Change-Id: I1cd7ef5d6ff7cb7e09239035f89d7b36d0436063 Reviewed-on: https://chromium-review.googlesource.com/1096673 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53681}
-
Junliang Yan authored
Port 13fc4a1b Original Commit Message: External references located within the isolate can be loaded as a fixed offset from the root register. This avoids one load from memory over the default indirect method (which reads from the external reference table). R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4a02973a0279517ab5247f4f9519b0e26168c444 Reviewed-on: https://chromium-review.googlesource.com/1097628Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#53680}
-
Igor Sheludko authored
This CL also introduces TailCallRuntime() with explicit arity parameter. Bug: v8:6949 Change-Id: I20266a0d3779e0336d5e9f83d3919ffc91fe0f47 Reviewed-on: https://chromium-review.googlesource.com/1097081 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53679}
-
Clemens Hammacher authored
TBR=titzer@chromium.org Bug: v8:7845 Change-Id: I9670e629ffbb430addb579d55a3e07ed3c9ccbda No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1097483Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53678}
-
Clemens Hammacher authored
R=mstarzinger@chromium.org Change-Id: If72df4425633cac8e98f0dd6adb80512e226f251 Reviewed-on: https://chromium-review.googlesource.com/1097323 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53677}
-
Ben L. Titzer authored
The isolate is mainly used for accounting purposes. As such, it doesn't need a field in the WasmCodeManager, and cannot have one if it is to be made isolate independent. Instead, pass the isolate explicitly in the appropriate cases. R=mstarzinger@chromium.org BUG=v8:7424 Change-Id: I539c2b33692e57605a280530bd704ef25269ad0f Reviewed-on: https://chromium-review.googlesource.com/1073412 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53676}
-
Ben L. Titzer authored
This CL estimates the sizes of the important managed objects in WASM: the decoded module {WasmModule}, the native module that contains code {NativeModule}, and the natively-allocated indirect and import tables {WasmInstanceNativeAllocations}. Since Managed<T> updates the isolate's external allocated memory, it is no longer necessary to do so upon committing or releasing a native module's memory. R=mstarzinger@chromium.org CC=ulan@chromium.org Bug: v8:7424 Change-Id: Iff4e07d0d328383a925febd654ccbfc95f0930e9 Reviewed-on: https://chromium-review.googlesource.com/1079067 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53675}
-
Clemens Hammacher authored
R=mstarzinger@chromium.org Change-Id: I5b062da2b4717f7247ea61d1118f0466c7b0474c Reviewed-on: https://chromium-review.googlesource.com/1097322Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53674}
-
Anna Henningsen authored
As specified in https://tc39.github.io/ecma262/#sec-atomics-wait, the critical section must occur before the load and comparison. This slightly changes the `AtomicsWaitCallback` API, but in a direction that arguably makes it more consistent. As a drive-by fix, reset `node->waiting_` in case there was an exception from the first callback. Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1095814 Bug: v8:7836 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I577cdf76cedfe39bc61f783203b543c7c68fc238 Reviewed-on: https://chromium-review.googlesource.com/1096236Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#53673}
-
Sigurd Schneider authored
This CL inserts NOP instructions a little bit earlier into empty blocks; this ensures that instructions keep their initial position. Bug: v8:7327 Change-Id: Idee5269f4fd7fc15c44bda83a2be74e8cff62df8 Reviewed-on: https://chromium-review.googlesource.com/1097078 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#53672}
-
Igor Sheludko authored
This is a necessary cleanup before porting Array[No,Single,N]ArgumentsConstructor builtins to CSA. Bug: v8:5269, v8:7703 Change-Id: I40a2dd83faab1f8c3c180d461ef62fa4d8578f5e Reviewed-on: https://chromium-review.googlesource.com/1097079 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53671}
-
Igor Sheludko authored
Bug: v8:7754 Change-Id: I11845f84c5e837d3d7323c4a932c36af08b61a8e Reviewed-on: https://chromium-review.googlesource.com/1096940Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53670}
-
Michael Achenbach authored
This reverts commit a229e121. Reason for revert: Breaks a layout test: https://ci.chromium.org/buildbot/client.v8.fyi/V8-Blink%20Linux%2064/24021 fast/js/constructor-length.html See also: https://github.com/v8/v8/wiki/Blink-layout-tests Original change's description: > [builtins] set DataView.length to 1 > > Refs: https://github.com/tc39/ecma262/pull/1131 > Test: test262/built-ins/DataView/length > Bug: v8:7816 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I66a06734bd32cd2043a8d04728b2185f6093bd69 > Reviewed-on: https://chromium-review.googlesource.com/1094980 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53649} TBR=gsathya@chromium.org,joyee@igalia.com Change-Id: Iaa602a40bd09dec6884f5f56b1f010b59c19b32a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7816 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1097275Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#53669}
-
jgruber authored
These tests are also affected by duplicate builtin copies (on- and off-heap). TBR=yangguo@chromium.org Bug: v8:6666, v8:7718 Change-Id: I8adfe8b8b63fb5f539cdff5e709e9358a47dfc7e Reviewed-on: https://chromium-review.googlesource.com/1097088Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53668}
-
Michael Starzinger authored
This makes sure debug code in WasmCode traps immediately instead of embedding a call to the Abort builtin, which would be Isolate specific. R=clemensh@chromium.org BUG=v8:7424 Change-Id: I08799d41b5e8d21b9f7af97d65f80a1594d9a613 Reviewed-on: https://chromium-review.googlesource.com/1095113 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#53667}
-
jgruber authored
Indirections for external references are now handled completely in macro assemblers, which can produce more efficient code. Bug: v8:6666 Change-Id: I158f2e2517e2d97a1006cec6e3b4ac3a7ef3fab6 Reviewed-on: https://chromium-review.googlesource.com/1095307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53666}
-
Michael Starzinger authored
This limits the call targets of {WasmCode} to only reference a limited set of builtins via the {RelocInfo::CODE_TARGET} relocation mode. By now most calls have been made independent of the Isolate. R=clemensh@chromium.org BUG=v8:7424 Change-Id: If4c643a7104e2ff0536ceb0f0de7fd30a923d854 Reviewed-on: https://chromium-review.googlesource.com/1092576Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53665}
-
Daniel Clifford authored
In the process: - Add strict ordering of Types so that name mangling is consistent and build time. Previously, the UnionType stored the union's types in a std::set<const Type*>, which did not have a consistent ordering of the types in the set. - Add a int31 type to enable consistency and correctness of handling of 'constexpr int31' values on the C++ side. - By removing the "implicit" keyword for operators, there is now one less difference between operators and calls, another incremental step in unifying operators and calls. - Enable external (i.e. C++-defined) generic specializations - Add CSA support for checking double ElementsKinds, including tests. - Clean up some constexpr/non-constexpr handling of ElementsKinds. Bug: v8:7793 Change-Id: I27699aba70b98ebf5466e5b62b045d7b1dad62c8 Reviewed-on: https://chromium-review.googlesource.com/1091155 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53664}
-
Dominik Inführ authored
Bug: chromium:851877 Change-Id: Ib3b4ec7086ecf2115e42a30fab10be1ae6b67593 Reviewed-on: https://chromium-review.googlesource.com/1096943Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53663}
-
Leszek Swirski authored
Introduce debug-only non-isolate versions of oddball checks so that we can check for oddballs in DCHECKs without requiring an isolate. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I97ee22fb99b23dbfa5d2d0bc7c6b22392d16d694 Reviewed-on: https://chromium-review.googlesource.com/1094875Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53662}
-
jgruber authored
External references located within the isolate can be loaded as a fixed offset from the root register. This avoids one load from memory over the default indirect method (which reads from the external reference table). Bug: v8:6666 Change-Id: I569308c03f1a8c3feb1be7ceb072178b5be17b25 Reviewed-on: https://chromium-review.googlesource.com/1092739 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53661}
-
Simon Zünd authored
This CL re-enables a mjsunit test for some simulator configurations after Array.p.sort pivot selection improvements have landed. R=jgruber@chromium.org Bug: v8:7795 Change-Id: I03599c34e34a0bafd5f276b03aa4f059a8078026 Reviewed-on: https://chromium-review.googlesource.com/1096764Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#53660}
-
Jaroslav Sevcik authored
This moves all accesses from Typer to the broker. This is policed by DisallowHandleDereferenceScope in Typer::Visitor::Reduce. Bug: v8:7790 Change-Id: Ic37d029261b3302eedb902a3b2249834a5dd0512 Reviewed-on: https://chromium-review.googlesource.com/1095305 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#53659}
-
Dominik Inführ authored
Change-Id: I5aa052371ac21857606465c4781a1f9fcad28c5c Reviewed-on: https://chromium-review.googlesource.com/1096755Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53658}
-
Stephan Herhut authored
Code generation for stack checks and protected loads produces duplicate loads of the stack pointer and memory base address. Without gvn these turn into actual move operations and sign conversions. Even worse, as turbofan seems to hoist the stack pointer loads to early blocks, I saw a high register pressure and many spills. While there is some compile time cost for gvn, I expect it to be rather low. On the positive side, I see about a 5% performance inprovement for some benchmarks. If compilation time turns out to be an issue, we can still revert. Change-Id: I13be2ace5b27c51c32430d0cb14fbbe8f31fbf6f Reviewed-on: https://chromium-review.googlesource.com/1095335Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#53657}
-
jgruber authored
Loading a root generates a kRootRegister-relative load on all architectures but ia32 (where we currently don't have a root register). This is preferable to loading an external reference, which will usually embed an absolute pointer into the generated code, or add an indirection when within an embedded builtin. Bug: v8:6666 Change-Id: I1a93b1325b375bfcf3547977760e1d9ada1d0ee4 Reviewed-on: https://chromium-review.googlesource.com/1095260 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53656}
-