- 18 Apr, 2018 4 commits
-
-
Marja Hölttä authored
This is also pre-work for in-place weak refs. BUG=v8:7308, v8:5988 Change-Id: Ie78b0c59695c1e6af9780fffb363c931e2ee34e2 Reviewed-on: https://chromium-review.googlesource.com/1013583 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52658}
-
Michael Achenbach authored
Prepares for: https://crrev.com/c/1015000 NOTRY=true Bug: chromium:830557 Change-Id: I51c12867d95de19350e0e55aaf097bbb479348dc Reviewed-on: https://chromium-review.googlesource.com/1015004 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#52657}
-
Michael Achenbach authored
Each builder now uses a dict to specify tests with a 'tests' key. This will allow adding other builder-specific keys in follow ups. Prepared on infra side by: https://crrev.com/c/1013713 Bug: chromium:830557 Change-Id: I1dd799cdfcc029ab22de813b7869abe982047e0f Reviewed-on: https://chromium-review.googlesource.com/1013979Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52656}
-
Christian O. Andersson authored
There are various situations where we explicitly compare a SMI against another SMI (e.g., BuildIndexedJump). This is also a common pattern for generated code (e.g., comparing a loop variable with an integer). Instead of using the generic equality/strict-equality stub for this, which is expensive, this CL offers a simple comparison stub, repurposing the TestEqualStrictNoFeedback bytecode to TestReferenceEqual Bug: v8:5310 Change-Id: Ib2b47cd24d5386cf0d20d3bd794776dc6e3a02a5 Reviewed-on: https://chromium-review.googlesource.com/1007542Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Christian O. Andersson <cricke@chromium.org> Cr-Commit-Position: refs/heads/master@{#52655}
-
- 17 Apr, 2018 24 commits
-
-
Michael Achenbach authored
This reverts commit 9a19ce25. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/20359 Original change's description: > [profiler] Ensure there's a single ProfilerListener per isolate. > > BUG=v8:7662 > > Change-Id: I8128ac96bcd2dc01b318c55843c4416bdd17c7ae > Reviewed-on: https://chromium-review.googlesource.com/1013318 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52653} TBR=alph@chromium.org,yangguo@chromium.org Change-Id: I3c3b6eb8d6f9911fa318f24a2e6e74180b83398e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7662 Reviewed-on: https://chromium-review.googlesource.com/1015561Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52654}
-
Alexei Filippov authored
BUG=v8:7662 Change-Id: I8128ac96bcd2dc01b318c55843c4416bdd17c7ae Reviewed-on: https://chromium-review.googlesource.com/1013318 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52653}
-
Ingvar Stepanyan authored
Previously, if an unbound script was created in a non-inspected context, but later bound to an inspected one, it never appeared in the debugger sources. After this change `OnAfterCompile` will be invoked not on the original script compilation, but when it's actually bound to a context for execution, which means `Debugger.scriptParsed` will be now sent to the inspector even for such precompiled scripts. R=jgruber@chromium.org, kozyatinskiy@chromium.org, yangguo@chromium.org Bug: v8:7654 Change-Id: Ice13312e425903fb2baf14edab5c566d649a6438 Reviewed-on: https://chromium-review.googlesource.com/1013581Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52652}
-
Junliang Yan authored
R=jarin@chromium.org, mstarzinger@chromium.org Bug=v8:7651 Change-Id: I4007c6de83806c2aad8fc105331986bfcf709033 Reviewed-on: https://chromium-review.googlesource.com/1012460 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52651}
-
Jakob Kummerow authored
One more place behind a non-default build flag that needs updating after the recent Address typedef change. Change-Id: Ica5022966e7773c621624d1cd5c20296c52c0b39 Reviewed-on: https://chromium-review.googlesource.com/1014320Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#52650}
-
Andreas Haas authored
In a recent CL (https://crrev.com/c/1012039) I removed the only valid use case of {external_reference_redirector}. In this CL I remove the remaining uses, which are more or less checks if there is a simulator or not. R=mstarzinger@chromium.org Change-Id: I96203b7b112d57bb3feb9d6863b036747b1963f0 Reviewed-on: https://chromium-review.googlesource.com/1014126 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52649}
-
Andreas Haas authored
With this CL we do the redirection of ExternalReferences for simulators independent of the isolate but instead use the redirector provided by the simulator directly. Thereby we make the code independent of the isolate. I plan to remove the redirector from the isolate in a separate CL. R=mstarzinger@chromium.org Change-Id: I2ae0b2184da214cf7606fabeabc9bec35bf0616e Reviewed-on: https://chromium-review.googlesource.com/1012039Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52648}
-
sreten.kovacevic authored
These tests fail since instructions were implemented in Liftoff. Problem was with NaN cases, where additional job has to be done on MIPS r2, r1 and Longsoon. Change-Id: Id02462aa08e79b03d66b5083b81f19dc1c88cc3e Reviewed-on: https://chromium-review.googlesource.com/1015001Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52647}
-
Sathya Gunasekaran authored
Class fields needs to be initialized after `this` is bound, as per the new spec change: https://github.com/tc39/proposal-class-fields/pull/92 This CL moves the initialization of `this` from parser desugaring to the bytecode generator. Bug: v8:7647 Change-Id: I20f749403e5a4d2f06a39726cf39012ceb541987 Reviewed-on: https://chromium-review.googlesource.com/1014383Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#52646}
-
Georg Neis authored
R=bmeurer@chromium.org Change-Id: I06b889333fe6481d4704138031ce6de0fcf70a4c Reviewed-on: https://chromium-review.googlesource.com/1013715Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52645}
-
Georg Neis authored
Throw a TypeError if the length of a concat-spreadable object makes the total length too large, as specified. Bug: v8:7652 Change-Id: Ie3f694d64c949703edd733c0310cfb3f64b78a15 Reviewed-on: https://chromium-review.googlesource.com/1013714Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52644}
-
Yang Guo authored
Flattening the string upfront has performance benefits and we can also simplify the implementation quite a bit. Bug: v8:6780 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic75bdfdf900d30e51e95cdf1cb8d09aab06332c6 Reviewed-on: https://chromium-review.googlesource.com/1014102Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52643}
-
sreten.kovacevic authored
Refactor AddPair and SubPair Macro-assembler instructions to prevent register overwriting, refactor all the places where these instructions are used. Also, implement MulPair instruction. Change-Id: I3f8f9d5fe6fa5bf25df3446614ac311cf886b6ac Reviewed-on: https://chromium-review.googlesource.com/1013571Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52642}
-
Sigurd Schneider authored
This is a reland of 370d95dc Original change's description: > [turbofan] Enable Promise constructor inlining by default > > Bug: v8:7584 > Change-Id: I7443c28c74676ee1f27550674c8f712594e21cc7 > Reviewed-on: https://chromium-review.googlesource.com/992314 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52341} Bug: v8:7584 Change-Id: Ie33b89bf8bb7abde426d477a8b39914e6d90e5b6 Reviewed-on: https://chromium-review.googlesource.com/1009862 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52641}
-
jgruber authored
TBR=yangguo@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Change-Id: I051dd5a1578d2e611f4b6351aa9cff9451494a5c Reviewed-on: https://chromium-review.googlesource.com/1013711 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52640}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org No-Try: true Bug: chromium:793687 Change-Id: I6d2988a0a2644de806e7b273ed5ff9213fceda5d Reviewed-on: https://chromium-review.googlesource.com/1013708 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52639}
-
Dan Elphick authored
This is a reland of f8ae62fe Original change's description: > [heap] Move initial objects into RO_SPACE > > This moves: > * the main oddballs (null, undefined, hole, true, false) as well as > their supporting maps (also adds hole as an internalized string to make > this work). > * most of the internalized strings > * the struct maps > * empty array > * empty enum cache > * the contents of the initial string table > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > value avoid writing to it during run-time) > > The StartupSerializer stats change as follows: > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 0 0 270264 32608 12144 0 > new 21776 0 253168 32608 8184 0 > Overall memory usage has increased by 720 bytes due to the eager > initialization of the Map weak cell caches. > > Also extends --serialization-statistics to print out separate instance > type stats for objects in RO_SPACE as shown here: > > Read Only Instance types (count and bytes): > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > 2 32 HEAP_NUMBER_TYPE > 5 240 ODDBALL_TYPE > 45 3960 MAP_TYPE > 1 16 BYTE_ARRAY_TYPE > 1 24 TUPLE2_TYPE > 1 16 FIXED_ARRAY_TYPE > 1 32 DESCRIPTOR_ARRAY_TYPE > 45 720 WEAK_CELL_TYPE > > Bug: v8:7464 > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > Reviewed-on: https://chromium-review.googlesource.com/973722 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52435} Bug: v8:7464 Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b Reviewed-on: https://chromium-review.googlesource.com/999654 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52638}
-
jgruber authored
Re-enable embedded builtins now that 67 has branched. This reverts two CLs: Disable embedded builtins for M67 branch point https://chromium-review.googlesource.com/c/v8/v8/+/982053 Enable embedded builtins on two bots https://chromium-review.googlesource.com/c/v8/v8/+/983597 And partially: Mark embedded builtins builds as non-shipping https://chromium-review.googlesource.com/1005515 Bug: v8:6666 Change-Id: I8e12e99bd1ec6567baf25545147337b6a0127e2a Reviewed-on: https://chromium-review.googlesource.com/1013570 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#52637}
-
Dan Elphick authored
Add a new permission kRead to PageAllocator::Permission and OS::MemoryPermission and implement it in platform-*. Not used yet, because it needs corresponding changes in chromium. Bug: v8:7464 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9f84251eff593536cbcc1cde04641d696c79d65c Reviewed-on: https://chromium-review.googlesource.com/1006756Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52636}
-
Sergiy Byelozyorov authored
R=machenbach@chromium.org No-Try: true Bug: chromium:793687 Change-Id: If4f125a0c1a2b818cdcc61200b14b73f56f65507 Reviewed-on: https://chromium-review.googlesource.com/1013523 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52635}
-
Clemens Hammacher authored
Consolidate nearly identical implementations and move them to TurboAssembler, such that they can be reused for Liftoff. R=neis@chromium.org Bug: v8:6600 Change-Id: I197445404df033ac1a05f4aa88501263ae4b75f3 Reviewed-on: https://chromium-review.googlesource.com/1013561 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52634}
-
Clemens Hammacher authored
Make values which are referenced via ExternalReference constexpr, and initialize them statically. This avoids dynamic initialization and protects them against being overwritten from generated code. R=neis@chromium.org Bug: v8:7570 Change-Id: I1c6c10fbffea12dc1f5bf726313bf8388e6530a1 Reviewed-on: https://chromium-review.googlesource.com/1013518Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52633}
-
Jakob Kummerow authored
This doesn't change the API, it just makes it functional: the functions were declared already, but they lacked an implementation so far. Trying to use them in Blink detects that issue. Bug: v8:6791 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I48902a5bba4a42f2922eafd22858d584731fc777 Reviewed-on: https://chromium-review.googlesource.com/1014668Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#52632}
-
Jakob Kummerow authored
Casting from a floating-point type to an integer type is undefined behavior if the integral part of the float cannot be represented in the range of the int. Bug: v8:3770, chromium:831145 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2e85ea8b0f09bbeeb3e0dcc1135fc747fa312f6d Reviewed-on: https://chromium-review.googlesource.com/1011651 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52631}
-
- 16 Apr, 2018 12 commits
-
-
Camillo Bruni authored
Bug: chromium:831984 Change-Id: Ie13b22bc2491acc255557ba0325d8d53c22d6acb Reviewed-on: https://chromium-review.googlesource.com/1012874Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52630}
-
Ben L. Titzer authored
Now that tables and stack frames properly root instances, there is no longer any need to disallow mutations that could unroot instances while their code is on the stack. Bug: v8:7232 Change-Id: I907b9522ac12ad7a67fb4124774713b6b3b40bb7 Reviewed-on: https://chromium-review.googlesource.com/1007004 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52629}
-
Michael Starzinger authored
This removes the support to serialize copies of {CodeStub} codes during native module serialization. It is still possible to serialize builtins and all code objects copied from the GC heap are builtins by now. R=ahaas@chromium.org Change-Id: If009a82a9d7c7080f70f344040ebb91f20b8cc1a Reviewed-on: https://chromium-review.googlesource.com/1012081 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52628}
-
Eric Holk authored
This will give us much better testing coverage for trap-based bounds checks. Note that this will not enable the trap handler by default in Chrome. Instead, Chrome will need to explicitly enable the feature using V8::EnableWebAssemblyTrapHandler. Bug: v8:5277 Change-Id: I7d81f40c6f831c6fe7926375c677908952b78fa2 Reviewed-on: https://chromium-review.googlesource.com/964711Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#52627}
-
Michael Starzinger authored
This adds another fixed spill slot to the {WasmCompiledFrame} layout, holding a reference to the current {WasmInstanceObject}. This slot allows the stack walker to retrieve instances for WebAssembly frames without having each code object be coupled to an instance. Hence it enables sharing code across instances in the future. R=titzer@chromium.org BUG=v8:7424 Change-Id: I7fa095c6255754caf564edce4ee7e84dea666783 Reviewed-on: https://chromium-review.googlesource.com/1005516 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52626}
-
Clemens Hammacher authored
The Cvtui2ss method did overwrite the {src} register, and the given {tmp} register. Because of this, the Turbofan code generator passed two temporary registers. This CL fixes this to avoid the overwrite of the {src} register (which is now an Operand). R=neis@chromium.org Change-Id: I33e523ac3d7bb377899739e95058b87adefa6b65 Reviewed-on: https://chromium-review.googlesource.com/1014082 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52625}
-
Georg Neis authored
If the new length is too large, we must throw a TypeError. Bug: v8:7652 Change-Id: I47268c04405f7a5f5bbc971cd434f2d786af9ca1 Reviewed-on: https://chromium-review.googlesource.com/1013563Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52624}
-
Ivo Markovic authored
At is used in Macro Assembler, so we need other registers to hold temporary values. Change-Id: Iffeddba7b3319666a605eea62ecc3cd01b065ad7 Reviewed-on: https://chromium-review.googlesource.com/1013978Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52623}
-
Vincent Belliard authored
First version which can compile a very basic code. Change-Id: I3b98412a5ca39a28f8fe5b60516b82c6981dd187 Reviewed-on: https://chromium-review.googlesource.com/993232 Commit-Queue: Vincent Belliard <vincent.belliard@arm.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52622}
-
Michael Achenbach authored
NOTRY=true TBR=sergiyb@chromium.org Change-Id: I285b32a5acbc302c29ca6085ab6998dbb1609539 Reviewed-on: https://chromium-review.googlesource.com/1013568 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52621}
-
Clemens Hammacher authored
Name type conversions from int to float and vice versa consistently, and move them to the TurboAssembler, such that we can reuse them for Liftoff. R=jarin@chromium.org Bug: v8:6600 Change-Id: Idced658a228eeb611dd4785aa277bd758c201eea Reviewed-on: https://chromium-review.googlesource.com/1014037Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52620}
-
Michael Achenbach authored
Change-Id: I6a97005943b36c0dab70fe8f18bbfcab443c3e03 Reviewed-on: https://chromium-review.googlesource.com/1013566 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#52619}
-