- 27 Jun, 2017 6 commits
-
-
Leszek Swirski authored
This reverts commit 87f71769. Reason for revert: Performance regressions https://chromeperf.appspot.com/group_report?rev=46185 Original change's description: > [ignition] Merge bytecode array builder and writer > > Move bytecode array writing logic into the array builder, allowing us to > remove the bytecode array writer and bytecode node, and convert runtime > operand writing to compile-time bytecode operand writing using the > information statically known at compile time. > > Bug: v8:6474 > Change-Id: I210cd9897fd41293745614e4a253c7c251dfffc9 > Reviewed-on: https://chromium-review.googlesource.com/533055 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46183} TBR=rmcilroy@chromium.org,leszeks@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:6474 Bug: chromium:736646 Change-Id: I00287b2bbbb8efa5a3141bc9c2906f91a7d33e51 Reviewed-on: https://chromium-review.googlesource.com/549319Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46235}
-
Michael Lippautz authored
Bug: chromium:736641 Change-Id: I93e8c0bbdcc471750073d39b10b18c18ceee7d8a Reviewed-on: https://chromium-review.googlesource.com/549416Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46234}
-
Andreas Haas authored
R=clemensh@chromium.org Change-Id: I74da1171f157f2c8040d2296019f4fb44b329910 Reviewed-on: https://chromium-review.googlesource.com/549356Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46233}
-
bmeurer authored
The Construct bytecode is always passed a valid feedback slot (just like the Call bytecode), so no need to check for invalid feedback slot anymore. Also perform the call count increment initially for both bytecodes instead of delaying it, which decreases live range for the feedback vector and slot registers. R=mythria@chromium.org, rmcilroy@chromium.org BUG=v8:4280 Review-Url: https://codereview.chromium.org/2955063002 Cr-Commit-Position: refs/heads/master@{#46232}
-
bmeurer authored
Uninitialized property accesses are replaced with SOFT deopts in TurboFan, but uninitialized JSCall nodes are not, and instead they just stick around and are also not being inlined because the heurstic in TurboFan doesn't consider those candidates since their call frequency is below the threshold. This unifies the behavior and also replaces uninitialized calls with SOFT deopts, addressing some inconsistency in optimization behavior as discovered by Brian White of Node for example here: https://twitter.com/mscdexdotexe/status/879005026202640385 R=jarin@chromium.org BUG=v8:4551, v8:5267 Review-Url: https://codereview.chromium.org/2956843002 Cr-Commit-Position: refs/heads/master@{#46231}
-
v8-autoroll authored
Rolling v8/base/trace_event/common: https://chromium.googlesource.com/chromium/src/base/trace_event/common/+log/39a3450..65d1d42 Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/564be75..41581c8 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/d4f2d77..520dd37 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I1857e9fa631d41fdfd6bb387e2633497dc9e44f8 Reviewed-on: https://chromium-review.googlesource.com/549198Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46230}
-
- 26 Jun, 2017 34 commits
-
-
hans authored
This is towards closing the perf gap between the MSVC build (which uses link- time optimization) and Clang (where LTO isn't ready on Windows yet). We did a study (see bug) to see which non-inlined functions are hit a lot during render start-up, and which would be inlined during LTO. This should benefit performance in all builds which currently don't use LTO (Android, Linux, Mac) as well as the Win/Clang build. The binary size of chrome_child.dll increases by 2KB with this. BUG=chromium:728324 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng Review-Url: https://codereview.chromium.org/2950993002 Cr-Commit-Position: refs/heads/master@{#46229}
-
hans authored
The missing export caused component build breakage when Bytecodes::SizeOfOperand was moved into the header in https://codereview.chromium.org/2950993002. BUG=none Review-Url: https://codereview.chromium.org/2954353002 Cr-Commit-Position: refs/heads/master@{#46228}
-
Jochen Eisinger authored
BUG=v8:6511 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie6b62df693d3b847837c071e1f985b7ce3b420c8 Reviewed-on: https://chromium-review.googlesource.com/548499Reviewed-by: Fadi Meawad <fmeawad@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#46227}
-
Michael Starzinger authored
R=marja@chromium.org BUG=v8:6408 Change-Id: Ied0c4d1aba18ec84d5feb02c3522b77759be216e Reviewed-on: https://chromium-review.googlesource.com/548636Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46226}
-
Clemens Hammacher authored
If a String object contains unicode, the returned {ToCString()} may actually longer than the {length()} of the String. But it's always null-terminated, so we can just print it without explicitly passing a length. R=ahaas@chromium.org Change-Id: I3398f151d70ed459ecd8093ea18409670a7374c7 Reviewed-on: https://chromium-review.googlesource.com/548058 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46225}
-
Ulan Degenbaev authored
BUG=chromium:694255 TBR=mlippautz@chromium.org Change-Id: I8eaec556d187453bd0d1cfbd0a12c0e81306862c Reviewed-on: https://chromium-review.googlesource.com/548597Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46224}
-
Michael Starzinger authored
This removes support for code-stub to tail-call into the runtime via the deoptimizer. The Hydrogen code-stubs would trigger a deopt in order to materialize a trampoline frame, which would then continue execution in a runtime function associated with each stub. This is no longer needed for code-stubs built with the CSA. R=jarin@chromium.org BUG=v8:6408 Change-Id: I1ff8dc03ac716200b28e962259a3e233aeda1234 Reviewed-on: https://chromium-review.googlesource.com/548375Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46223}
-
Andreas Haas authored
With https://chromium-review.googlesource.com/c/532993/ the isolate can shutdown without a crash even when an async compile job is still active. This should allow us to turn on async compilation again. R=mtrofin@chromium.org, bradnelson@chromium.org Change-Id: I822112c4f2a7a32133aa1d086881ed77baf42f76 Reviewed-on: https://chromium-review.googlesource.com/533293Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46222}
-
Clemens Hammacher authored
The implication was actually in the wrong direction: If there is no memory start address, then the size must be 0. If the size is 0 though, we might allocate nevertheless to have guard pages around the accessible memory. R=ahaas@chromium.org BUG=chromium:736584 Change-Id: I297dece658d5eaf69c58ecb109ff21d3ca0b8a8d Reviewed-on: https://chromium-review.googlesource.com/548635Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46221}
-
Clemens Hammacher authored
Test that unicode identifiers can be used for imports and exports, and that unicode function names appear correctly in error messages. R=ahaas@chromium.org Change-Id: Ic6ac77159c275845886b2eb779cf59edb8cba9ea Reviewed-on: https://chromium-review.googlesource.com/548315 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46220}
-
Michael Achenbach authored
NOTRY=true NOPRESUBMIT=true TBR=tandrii@chromium.org Bug: chromium:736757 Change-Id: I920eda5c916981d3588fb7346ec4e811dc5112aa Reviewed-on: https://chromium-review.googlesource.com/548360Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46219}
-
Clemens Hammacher authored
Instead of calling {TryAllocateBackingStore} with {enable_guard_regions==false}, we just directly call {array_buffer_allocator->Allocate}. Drive-by optimization: Don't allocate if the size is 0. R=titzer@chromium.org Change-Id: Iabf7af7e0f1bc970c03efcd9ee4c23e5307a7095 Reviewed-on: https://chromium-review.googlesource.com/548398Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46218}
-
Michael Achenbach authored
This prepares switching the gcov coverage bot to GN. We skip instrumenting test executables explicitly in gn configs. In gyp, we did the same through an extra compiler wrapper script. NOTRY=true Bug: chromium:645890 Change-Id: I663fb479347063ae9228598d356bb654ca2a496c Reviewed-on: https://chromium-review.googlesource.com/548275 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46217}
-
jarin authored
BUG=chromium:736567 Review-Url: https://codereview.chromium.org/2962503002 Cr-Commit-Position: refs/heads/master@{#46216}
-
Michael Starzinger authored
This removes specialized support for materializing arguments objects. For TurboFan we use the generic escape analysis mechanism when such objects are materialized already, only Crankshaft used this deprecated mechanism. R=jarin@chromium.org BUG=v8:6408 Change-Id: Ibed52a028752e667b05a60fa7cf0275a6a372897 Reviewed-on: https://chromium-review.googlesource.com/548595Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46215}
-
georgia.kouveli authored
Port c15b3ffc and 6a99238b to arm64. This reduces the snapshot size for arm64 by about 5.5%. BUG= Review-Url: https://codereview.chromium.org/2937413002 Cr-Commit-Position: refs/heads/master@{#46214}
-
Michael Lippautz authored
- Allow disabling filtering of objects - Allow disabling visitation of map pointer - Strongly suggest to compiler to inline visitation. Bug: v8:736641 Change-Id: I1894eaf86b4fd368b66d75b8deca1c9ab273059d Reviewed-on: https://chromium-review.googlesource.com/547716 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46213}
-
Michael Starzinger authored
R=danno@chromium.org BUG=v8:6408 Change-Id: I6613557e474f415293feb164a30c15485d81ff2c Reviewed-on: https://chromium-review.googlesource.com/547717Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46212}
-
Tobias Tebbi authored
Bug: chromium:734314 Change-Id: I4e1bd1264c2c4088ce9fdcdbe3b9e233faa516df Reviewed-on: https://chromium-review.googlesource.com/544990Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#46211}
-
Andreas Haas authored
The only difference between GetNextUncompiledFunctionId + CompileAndSchedule and FetchAndExecuteCompilationUnit is that FetchAndExecuteCompilationUnit potentially calls a callback if it detects that no finishing task is executing. With this CL I replace the two functions again with FetchAndExecuteCompilationUnit. I add a flag so that no callback is called when the flag is not set. If no callback is called, FetchAndExecuteCompilationUnit behaves exactly the same as the other two functions together. R=clemensh@chromium.org Change-Id: I17318381eec2d17b13d0902984f2620b909c7ea0 Reviewed-on: https://chromium-review.googlesource.com/544954Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46210}
-
Leszek Swirski authored
If the data to be stored in a BitVector is small enough (less than the pointer size), it can be stored directly on the BitVector instead of the pointer. This patch makes the data field of the BitVector a union between a pointer and uintptr_t, and uses the latter is the data length is 0. Change-Id: I24c1920f2c16373c883cf69b123bf59812fef28e Reviewed-on: https://chromium-review.googlesource.com/541307 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46209}
-
Igor Sheludko authored
Change-Id: Ie0d3be6c36d13b073df2e59890ef6c714c529011 Reviewed-on: https://chromium-review.googlesource.com/548055Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46208}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: Ie4f14e62afa63339c586c3872d6acfa2bf4833d8 Reviewed-on: https://chromium-review.googlesource.com/545717Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46207}
-
Jaroslav Sevcik authored
This is mainly to enable optimization of case-insensitive maps, where we see the pattern if (m.has(key.toLowerCase())) { return m.get(key.toLowerCase()) } ... Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I8c78a185401c51e8a53ae2932a158eaafa169495 Reviewed-on: https://chromium-review.googlesource.com/547057 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46206}
-
Clemens Hammacher authored
There were only two uses. Replace them by [[noreturn]] directly. R=jarin@chromium.org BUG=v8:6474 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I965f74f5b3493cfef9efd698f24bf00216442fd8 Reviewed-on: https://chromium-review.googlesource.com/544845Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46205}
-
Ross McIlroy authored
Previously any object with maps INTERNALIZED_STRING_TYPE or ONE_BYTE_INTERNALIZED_STRING_TYPE would be typed as kInternalizedString. This meant that non-empty constants weren't typed as such. This causes the following issues: - StringConcat couldn't be typed lowered to inline cons string allocation if there were string constants after the first two operands, since these constants would be typed as possibly empty (even if known not to be). - When inlining, a heap constant could end up becoming the input to a ToPrimitiveToString operand. If the ToPrimitiveToString is speculatively lowered to a CheckNonEmpty, then the verifier would fail since the typer can't deal well with intersecting a bitset type (NonEmpty) with a HeapConstantType - the end result type would be (None | HeapConstant..) but the HeapConstantType would retain it's LUB of kInternalizedSeqString, (which includes the EmptyString type) and so the verifier would fail since the output of CheckNonEmpty would still include the EmptyString. To address this, when typing an actual object, check for the empty string and return EmptyString if it is, otherwise type as normal but remove the EmptyString bit since we know it's non-empty. BUG=v8:6243 Change-Id: I2b34ca24e9b488199dce0d2c092d2701c2b22791 Reviewed-on: https://chromium-review.googlesource.com/544988Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46204}
-
Georg Neis authored
R=mstarzinger@chromium.org Bug: Change-Id: Ica169da6e095abb79967687ae9a18db5c833f72e Reviewed-on: https://chromium-review.googlesource.com/546356Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46203}
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:6408 Change-Id: Ic3337c072d1d2bb93f5b65f23e4888f65a55874f Reviewed-on: https://chromium-review.googlesource.com/541220 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46202}
-
Toon Verwaest authored
Bug: Change-Id: I483903e0a62363098370aeae154bbc6c52318741 Reviewed-on: https://chromium-review.googlesource.com/547956 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46201}
-
Igor Sheludko authored
This is a regression test that will ensure that follow-up CLs that will touch native function definitions will not brake anything. Bug: v8:6459 Change-Id: Iceafd38462f2d9de14e119b6aa48be2b9bff1d33 Reviewed-on: https://chromium-review.googlesource.com/545935Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46200}
-
Michael Achenbach authored
NOTRY=true TBR=ulan@chromium.org Bug: chromium:735951 Change-Id: Ic5cf6692988ede915aabdc1c44eea52b42bf7f45 Reviewed-on: https://chromium-review.googlesource.com/547426Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46199}
-
Michael Achenbach authored
https://codereview.chromium.org/2957523002 deprecated using the gold plugin on the chromium side. TBR=mstarzinger@chromium.org NOTRY=true Bug: v8:6524 Change-Id: Id82ac677c9c858725cc89ec7a87a8917fb29a451 Reviewed-on: https://chromium-review.googlesource.com/547058Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46198}
-
Peter Marshall authored
Bug: v8:6488 Change-Id: Icc1e8a71f32592f670f262eb588976c07af41a22 Reviewed-on: https://chromium-review.googlesource.com/541283Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#46197}
-
Michael Achenbach authored
This reverts commit ee0e295d. Suspect for http://crbug.com/736676 Another dcheck fails, starting after the reverted CL, e.g.: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/8666 BUG=chromium:736676,v8:6361 TBR=kschimpf@chromium.org,mtrofin@chromium.org NOTRY=true NOPRESUBMIT=true Change-Id: I160b996a07d77f90a96864f3ae84f861f495ed42 Reviewed-on: https://chromium-review.googlesource.com/547425Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46196}
-