- 05 Dec, 2017 8 commits
-
-
Michael Lippautz authored
The dependency between restoring iterability and the Scavenger is explicit. Delayed chunks are thus not needed anymore. Bug: chromium:791043 Change-Id: I9f2c95c1856f53299af2737f922a3cb4cc578aa5 Reviewed-on: https://chromium-review.googlesource.com/805816Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49855}
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/218a522..3337fb6 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Ie243a01a3a1571f3dff1a07b5f31dddd20271fe2 Reviewed-on: https://chromium-review.googlesource.com/808066Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#49854}
-
Michael Achenbach authored
This reverts commit cc07ac73. Reason for revert: Breaks benchmarks: http://shortn/_POjH6zA7tp Original change's description: > [turbofan] Make sure TruncatingUseInfoFromRepresentation respects Smi representation. > > Eventually, we want to fix this also for tagged pointers (tracking bug: https://crbug.com/v8/7162). > > Bug: chromium:791245 > Change-Id: I93d6deff36cedcc9a4665fab0abe6fffdae9b61b > Reviewed-on: https://chromium-review.googlesource.com/806457 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49850} TBR=jarin@chromium.org,bmeurer@chromium.org Change-Id: I0ff571b161ec40ba1f32ee048f8255c42414d8d2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:791245 Reviewed-on: https://chromium-review.googlesource.com/807985Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49853}
-
Michael Achenbach authored
This reverts commit 8d9de7ff. Reason for revert: Breaks roll: https://chromium-review.googlesource.com/c/chromium/src/+/806714 # Fatal error in ../../v8/src/compiler/code-generator.cc, line 1032 # unreachable code #3 v8::internal::compiler::CodeGenerator::AddTranslationForOperand() #4 v8::internal::compiler::CodeGenerator::TranslateFrameStateDescriptorOperands() #5 v8::internal::compiler::CodeGenerator::BuildTranslation() #6 v8::internal::compiler::CodeGenerator::AssembleInstruction() #7 v8::internal::compiler::CodeGenerator::AssembleCode() #8 v8::internal::compiler::PipelineImpl::AssembleCode() Original change's description: > [compiler] Remove dead code in CodeGenerator::BuildTranslation. > > R=jarin@chromium.org > > Bug: > Change-Id: Id219fb91c4c4f40677edea6f9c04763284e14373 > Reviewed-on: https://chromium-review.googlesource.com/800934 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49831} TBR=jarin@chromium.org,neis@chromium.org Change-Id: I6f5e13e70dc816a4e0c4a362bd3a30091c14c637 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/807944Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49852}
-
peterwmwong authored
- Removes JS implementation and InnerArrayFind/InnerArrayFindIndex - Adds TFJ, with TFS for slow continuation path Some quick benchmarks show ~2x improvement for unoptimized code and up to 16% improvement against optimized code (diminishes with larger arrays as iterating dominates). https://github.com/peterwmwong/v8-perf/blob/master/array-find-findIndex/README.md Bug: chromium:791045, v8:1956, v8:5049, v8:7165 Change-Id: Ie16252ed495bbd91fe548b16d5ef6764de791a50 Reviewed-on: https://chromium-review.googlesource.com/804704Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49851}
-
Jaroslav Sevcik authored
Eventually, we want to fix this also for tagged pointers (tracking bug: https://crbug.com/v8/7162). Bug: chromium:791245 Change-Id: I93d6deff36cedcc9a4665fab0abe6fffdae9b61b Reviewed-on: https://chromium-review.googlesource.com/806457Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49850}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/19d97ed..3320fde Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c796cbc..218a522 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Ifec197d4158ca8c05e32954656fff4da17864ff9 Reviewed-on: https://chromium-review.googlesource.com/807705Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#49849}
-
Eric Holk authored
This is a small refactoring that moves the WasmCodeManager and CompilationManager from being a part of the Isolate directly to living in a new WasmEngine object. This makes it easier to change Wasm components without rebuilding so much of V8, and also enables future changes to Wasm without affecting unrelated parts of V8. Bug: v8:7109 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ic89bfc3974483aa909d12556d1386e18785a1d71 Reviewed-on: https://chromium-review.googlesource.com/804824 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49848}
-
- 04 Dec, 2017 31 commits
-
-
Michael Achenbach authored
This reverts commit e110b59c. Reason for revert: Breaks arm debug on chromebook hardware: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5335 Original change's description: > [bigint] Fix early-return in asIntN > > For "top digit" (of the result) comparison to be applicable, we must > also check that there are no further digits in the source. > > Bug: v8:7150 > Change-Id: I6ad317f6f600e11fef59b9907da1055e5586a3a8 > Reviewed-on: https://chromium-review.googlesource.com/804639 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49846} TBR=jkummerow@chromium.org,neis@chromium.org Change-Id: I5dae82696d3ecb9602f73a2ff4760ed7bbcef1c5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7150 Reviewed-on: https://chromium-review.googlesource.com/806838Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49847}
-
Jakob Kummerow authored
For "top digit" (of the result) comparison to be applicable, we must also check that there are no further digits in the source. Bug: v8:7150 Change-Id: I6ad317f6f600e11fef59b9907da1055e5586a3a8 Reviewed-on: https://chromium-review.googlesource.com/804639Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49846}
-
Junliang Yan authored
R=joransiu@ca.ibm.com Bug: Change-Id: I50f5ad99dc8bdd80c3fd9cce27db7bb728c24497 Reviewed-on: https://chromium-review.googlesource.com/806934Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#49845}
-
Jakob Kummerow authored
Turns out that all callers might need this, so instead of burdening them with checking, make the helper more robust. Bug: v8:7151 Change-Id: I54270e2b1f5c03b503e2cf202bcbc09fe91aef14 Reviewed-on: https://chromium-review.googlesource.com/804956Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49844}
-
Jaroslav Sevcik authored
Bug: chromium:787301 Change-Id: If32310f9f2f3f04daa5bdaa9779302f4a012d397 Reviewed-on: https://chromium-review.googlesource.com/806223 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49843}
-
Caitlin Potter authored
- Implement RunMicrotasks in CSA to prevent a potentially large number of jumps between C++ and JS code while consuming te queue. Appears to provide a ~60% speedup in microtask-heavy code, which from limited testing appears to scale linearly. The code-stub microtask pump bails out to the old C++ microtask pump if it encounters a CallHandlerInfo microtask, and remains in C++ for the remainder of the queue (returning to the JS/stub implementation after the bailed out queue is exhausted). - Add a variation of JSEntryStub which enters the new RunMicrotasks code stub. - Add a new RunMicrotasks helper to Execution, which uses the RunMicrotasks entry stub. Bug: Change-Id: I4667d4dd633d24455ea5d7cef239da0af1a7365e Reviewed-on: https://chromium-review.googlesource.com/650486 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49842}
-
Ulan Degenbaev authored
A background task can now use GCTracer::BackgroundScope to trace the time spent in the task. The time shows up in --trace-gc-nvp output and in the runtime call stats for GC. The destructor of GCTracer::BackgroundScope increments the corresponding counter in heap()->tracer()->background_counter_, which is protected by a mutex. The GCTracer::Stop function fetches background_counter_ items into the global scope and into the runtime call stats. Bug: chromium:758183 Change-Id: Id7bcd5089ba6c027fe9a57eb3f7db1cb5092aec5 Reviewed-on: https://chromium-review.googlesource.com/801694 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49841}
-
Mircea Trofin authored
This enables the invariant that a NativeModule's code may either be executable or writable, but never both at the same time. Bug: v8:7105 Change-Id: If2abfce6796a365bb675a82140f32e8f45bb923f Reviewed-on: https://chromium-review.googlesource.com/804208 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49840}
-
Clemens Hammacher authored
Remove flags that are not used any more. R=mstarzinger@chromium.org Bug: v8:7109 Change-Id: I2c456f0e250688bd4cf57ccb3f0f8237fdc2ec58 Reviewed-on: https://chromium-review.googlesource.com/805954Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49839}
-
Ulan Degenbaev authored
Patch from Thomas Köppe <tkoeppe@google.com>. Change-Id: I7ae2e001b6bd72ad67baad64d35e7c17d4ed4716 Reviewed-on: https://chromium-review.googlesource.com/806221Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49838}
-
Mythri authored
code_cache_map_ is used to store the serialized code that could be consumed in the subsequent runs. This is a std::map which is not thread safe. So protect this with mutex to avoid any race conditions when executing in multiple isolates in parallel. Bug: chromium:783124 Change-Id: Ie58402b8547cf3e83716b8d97d98a298745e487f Reviewed-on: https://chromium-review.googlesource.com/806334Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#49837}
-
Andreas Haas authored
The return type of stores is void according to the WebAssembly spec. In wasm-opcodes.h, however, the return type of stores was set to the value type. This CL changes the signature of stores, and fixes some issues which were caused because now there exist opcodes with a return count different to 1. R=titzer@chromium.org, clemensh@chromium.org Bug: v8:7109 Change-Id: I94d1b049e6d0032868b2ce83f52e16b474de3dea Reviewed-on: https://chromium-review.googlesource.com/803495Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49836}
-
Ivica Bogosavljevic authored
PIC code requires that full function address is available in t9 upon function entry. We disabled some optimizations that cause problems since they do not load t9 with full function address. Bug: Change-Id: Ie7987c5e2413db04c59547c33a69696e19db4b34 Reviewed-on: https://chromium-review.googlesource.com/806494Reviewed-by: Miran Karić <miran.karic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#49835}
-
Jaroslav Sevcik authored
This reverts commit e71b8022. Reason for revert: Need to have a back-mergeable fix. Original change's description: > [deoptimizer] Staged materialization of objects. > > The existing object materialization in the deoptimizer has the following problems: > > - Objects do not necessarily verify during materialization (because during the > depth first walk we might have inconsistent objects). > > - Stack can overflow (because we just materialize using recursive calls). > > - We generalize object fields. > > > This CL re-implements the materialization algorithm to solve this problem. The > new implementation creates the objects in two steps: > > 1. We allocate space for all the objects. In general, we allocate ByteArrays > of the right size. For leaf objects that cannot participate in cycles, > we build and initialize the materialized objects completely. > > For JS objects, we insert markers into the byte array at the positions > where unboxed doubles are expected. > > 2. We initialize all the objects with the proper field values and change the > map from the ByteArray map to the correct map. This requires some sync > with the concurrent marker (Heap::NotifyObjectLayoutChange). > > When initializing the JS object fields, we make sure that we respect > the unboxed double marker. > > Bug: chromium:770106, v8:3836 > Change-Id: I1ec466a9d19db9538df4ba915516d4c3ca825632 > Reviewed-on: https://chromium-review.googlesource.com/777559 > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49821} TBR=ulan@chromium.org,mstarzinger@chromium.org,jarin@chromium.org Change-Id: I0657fb75330700dd7883c600dacb25676ebb47f9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:770106, v8:3836 Reviewed-on: https://chromium-review.googlesource.com/806160Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49834}
-
Georgia Kouveli authored
This is to avoid calling AssembleTailCallBeforeGap and AssembleTailCallAfterGap directly where possible (so making the tests less dependent on the code generator interface when we're not directly testing it). It also makes sure that the instruction we pass to AssembleTailCallBeforeGap and AssembleTailCallAfterGap is indeed a tail call, with the immediate argument that specifies the stack delta. This is to prepare for padding arguments for arm64 JSSP removal. We will need to store padding in AssembleTailCallAfterGap, which will need the information from a TailCall instruction. Bug: v8:6644 Change-Id: Ia5485412a4244c7b2a133aa0541b9f8285680de4 Reviewed-on: https://chromium-review.googlesource.com/806117Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#49833}
-
Ulan Degenbaev authored
Bug: chromium:758183 Change-Id: I6858d9a3294270dde8913b8fb1a3e80008461ff6 Reviewed-on: https://chromium-review.googlesource.com/806118Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49832}
-
Georg Neis authored
R=jarin@chromium.org Bug: Change-Id: Id219fb91c4c4f40677edea6f9c04763284e14373 Reviewed-on: https://chromium-review.googlesource.com/800934Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49831}
-
Michal Majewski authored
This is a reland of 3b065110 Original change's description: > Reland "[test] Creating command before execution phase." > > This is a reland of 98cc9e86 > Original change's description: > > [test] Creating command before execution phase. > > > > Immutable command class with shell, flags and > > environment. > > > > Command creation moved from worker to the main > > process. Because of that there is no need to send > > test cases beyond process boundaries and load test > > suites in worker processes. > > > > Bug: v8:6917 > > Change-Id: Ib6a44278095b4f7141eb9b96802fe3e8117678a6 > > Reviewed-on: https://chromium-review.googlesource.com/791710 > > Commit-Queue: Michał Majewski <majeski@google.com> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#49746} > > Bug: v8:6917 > Change-Id: I49c29a8db813c47909f2cc45070ac7721a447c7a > Reviewed-on: https://chromium-review.googlesource.com/800370 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michał Majewski <majeski@google.com> > Cr-Commit-Position: refs/heads/master@{#49756} Bug: v8:6917 Change-Id: Ia39010a0a0f63537ad12490dfab17897d70d4930 Reviewed-on: https://chromium-review.googlesource.com/806034Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#49830}
-
Georg Neis authored
The motivation is to avoid bugs such as the one fixed in https://chromium-review.googlesource.com/c/v8/v8/+/800270. Bug: v8:7109 Change-Id: I82a55f4a78d289d00ae7bafe78b45d92bab07a6b Reviewed-on: https://chromium-review.googlesource.com/800291Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49829}
-
Sergiy Byelozyorov authored
TBR=machenbach@chromium.org Bug: chromium:747960 Change-Id: I9a45d2eaf08443d18756116d9d3f56458417dc1d Reviewed-on: https://chromium-review.googlesource.com/805854 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#49828}
-
Michal Majewski authored
This is a reland of 3b065110 Original change's description: > Reland "[test] Creating command before execution phase." > > This is a reland of 98cc9e86 > Original change's description: > > [test] Creating command before execution phase. > > > > Immutable command class with shell, flags and > > environment. > > > > Command creation moved from worker to the main > > process. Because of that there is no need to send > > test cases beyond process boundaries and load test > > suites in worker processes. > > > > Bug: v8:6917 > > Change-Id: Ib6a44278095b4f7141eb9b96802fe3e8117678a6 > > Reviewed-on: https://chromium-review.googlesource.com/791710 > > Commit-Queue: Michał Majewski <majeski@google.com> > > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#49746} > > Bug: v8:6917 > Change-Id: I49c29a8db813c47909f2cc45070ac7721a447c7a > Reviewed-on: https://chromium-review.googlesource.com/800370 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michał Majewski <majeski@google.com> > Cr-Commit-Position: refs/heads/master@{#49756} Bug: v8:6917 Change-Id: I981994224e493bee4c9435cb80772b6e2ad8fbb1 Reviewed-on: https://chromium-review.googlesource.com/805336Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#49827}
-
Michael Lippautz authored
Separates restoring iterability from sweeping a page. Since the set of pages where iterability needs to be restored is small, it is possible to wait and block for the task to finish if necessary. A follow up change can now remove the fragile logic for delaying unmapping of pages since it is guaranteed that no background task keeps a reference to a page for restoring iterability. Bug: chromium:791043 Change-Id: Ifba45594cc586df3c99e1bbb20a13b44c18dd9a1 Reviewed-on: https://chromium-review.googlesource.com/796419 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49826}
-
Michal Majewski authored
Bug: v8:6972 Change-Id: I1dff2fac359222cb13ec7f14d59be63ffd910701 Reviewed-on: https://chromium-review.googlesource.com/801734Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#49825}
-
Camillo Bruni authored
Eventually we should migrate to new new-style callbacks which take Names instead of Strings as first arguments everywhere. Internally we don't really handler NamedPropertyCallbackXX differently from the newer GenericNamedPropertyCallbackXX. Bug: v8:7109 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I827182f447427c222d5144f1a3e27bf543226e51 Reviewed-on: https://chromium-review.googlesource.com/803340Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#49824}
-
Michal Majewski authored
Bug: v8:6972 Change-Id: I3f5f2d5ebba3eaddd9e5390b7f299cdbc192ba6e Reviewed-on: https://chromium-review.googlesource.com/801714Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michał Majewski <majeski@google.com> Cr-Commit-Position: refs/heads/master@{#49823}
-
Pierre Langlois authored
Add support for matching '(x & mask) == mask' when mask has a single bit set, and translate this into a tbnz instruction. This patch only does this for 32-bit operations, we can port it to 64-bit operations as a follow-up if we find matches. This transformation mostly touches the snapshot where we get ~120 hits. This pattern can also show up in JavaScript when introduced by the EffectControlLinearizer pass. Bug: Change-Id: Ib37c6e0bd3831b7c17709357b00ca53735621605 Reviewed-on: https://chromium-review.googlesource.com/803272Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#49822}
-
Jaroslav Sevcik authored
The existing object materialization in the deoptimizer has the following problems: - Objects do not necessarily verify during materialization (because during the depth first walk we might have inconsistent objects). - Stack can overflow (because we just materialize using recursive calls). - We generalize object fields. This CL re-implements the materialization algorithm to solve this problem. The new implementation creates the objects in two steps: 1. We allocate space for all the objects. In general, we allocate ByteArrays of the right size. For leaf objects that cannot participate in cycles, we build and initialize the materialized objects completely. For JS objects, we insert markers into the byte array at the positions where unboxed doubles are expected. 2. We initialize all the objects with the proper field values and change the map from the ByteArray map to the correct map. This requires some sync with the concurrent marker (Heap::NotifyObjectLayoutChange). When initializing the JS object fields, we make sure that we respect the unboxed double marker. Bug: chromium:770106, v8:3836 Change-Id: I1ec466a9d19db9538df4ba915516d4c3ca825632 Reviewed-on: https://chromium-review.googlesource.com/777559 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49821}
-
Clemens Hammacher authored
According to the style guide, we pass unique_ptr by value, or by reference in rare cases, but never by rvalue reference. R=ahaas@chromium.org Bug: v8:7109 Change-Id: I6cfdb8b61fada532ce334e2da419598085a2b408 Reviewed-on: https://chromium-review.googlesource.com/803716Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49820}
-
Andreas Haas authored
R=bradnelson@chromium.org Change-Id: I100f33a7c0da2f86aea78cf645b7a784a920596b Reviewed-on: https://chromium-review.googlesource.com/805241 Commit-Queue: Andreas Haas <ahaas@chromium.org> Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Cr-Commit-Position: refs/heads/master@{#49819}
-
Andreas Haas authored
Bug: v8:7109 Change-Id: Id71f85a38e6c4f37176e1a70bf5c1e584ee08c56 Reviewed-on: https://chromium-review.googlesource.com/803345Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49818}
-
Andreas Haas authored
Since we have this d8 directory now, we can also use it. R=machenbach@chromium.org Bug: v8:7109 Change-Id: I595ceb30e1c9350ad00d5cfaf998e40294602103 Reviewed-on: https://chromium-review.googlesource.com/803214Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49817}
-
- 03 Dec, 2017 1 commit
-
-
Sergiy Byelozyorov authored
TBR=machenbach@chromium.org Bug: chromium:748036, chromium:748038, chromium:748124 Change-Id: Iec59098bf0687a89dd967d12d03e6d4e08293780 Reviewed-on: https://chromium-review.googlesource.com/805236 Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#49816}
-