- 20 Apr, 2018 1 commit
-
-
jgruber authored
The existing signature is problematic for two reasons: 1. The void* -> V cast is invalid if sizeof(V) < sizeof(void*) 2. It's impossible to distinguish between a returned value of 0 and nullptr, designating failure. Bug: v8:6666 Change-Id: I71e8fc9119256c24a15b5bb73438f024f1af4f88 Reviewed-on: https://chromium-review.googlesource.com/1018466Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52708}
-
- 22 Feb, 2018 1 commit
-
-
Ross McIlroy authored
Perf-sheriffs please revert if this causes any performance regressions. BUG= Change-Id: I39075482f3c85d69407d6d8e5643d94c1a4425c2 Reviewed-on: https://chromium-review.googlesource.com/461117Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51470}
-
- 21 Feb, 2018 1 commit
-
-
jgruber authored
This is a step towards off-heap (and eventually isolate-independent) builtins. Off-heap code cannot use the standard CallStub/CallRuntime mechanisms, since they directly embed the callee code object pointer within the caller. There are two main issues with that: 1. the callee may be moved by GC, and 2. the pc-relative addressing we currently use breaks (i.e. ends up pointing to a random spot on the heap) when moving the caller off-heap. This CL addresses that by introducing a constants list stored on the roots array. Instead of embedding code targets, we now have the option of loading them from constants list. The code sequence is: REX.W movq rax,[r13+0x4a0] // Load the constants cache. REX.W movq rdx,[rax+0xf] // From there, load the code target. ... REX.W addq rdx,0x5f // Add instruction_start. call rdx There's no visible performance impact on the web tooling benchmark. This list will later be extended to also contain other constants such as Strings. Bug: v8:6666 Change-Id: Ifcf67d1f682804ba0b6d3d0383216e16575b6bf5 Reviewed-on: https://chromium-review.googlesource.com/923729 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#51434}
-
- 21 Jun, 2017 1 commit
-
-
Ross McIlroy authored
BUG=chromium:704132 Change-Id: I5be333888215718c2680f5a442fe26ffd988f04e Reviewed-on: https://chromium-review.googlesource.com/541443Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46077}
-
- 20 Jun, 2017 2 commits
-
-
Ross McIlroy authored
This reverts commit d58bb2dc. Reason for revert: New test breaks on optimize-for-size: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/16469/steps/OptimizeForSize/logs/GCShortCutting Original change's description: > [IdentityMap] Fix size if GC short-cuts objects. > > BUG=chromium:704132 > > Change-Id: I6146c907d4f26147676f7dde4974c44fe541e8fe > Reviewed-on: https://chromium-review.googlesource.com/541362 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46059} TBR=rmcilroy@chromium.org,mstarzinger@chromium.org Change-Id: Ib2ba207dcc1b3193d3645090e9c0a9676f38c353 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:704132 Reviewed-on: https://chromium-review.googlesource.com/541224Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46061}
-
Ross McIlroy authored
BUG=chromium:704132 Change-Id: I6146c907d4f26147676f7dde4974c44fe541e8fe Reviewed-on: https://chromium-review.googlesource.com/541362 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46059}
-
- 22 May, 2017 1 commit
-
-
Wiktor Garbacz authored
Change-Id: I20ed35a7fb5104a9cc66bb54fa8966589c43d7f9 Reviewed-on: https://chromium-review.googlesource.com/507287Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45458}
-
- 27 Mar, 2017 2 commits
-
-
Clemens Hammacher authored
This reverts commit 3d82e557. Reason for revert: gc stress failures, e.g. https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/9729/steps/Mjsunit%20%28flakes%29/logs/regress-crbug-647217 Original change's description: > Resize identity map by doubling instead of quadrupling. > > Perf-sheriffs please revert if this causes any performance regressions. > > BUG= > > Change-Id: I9ead7148e1e0146ece3614df49fd031dd1e357fe > Reviewed-on: https://chromium-review.googlesource.com/445159 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ben Titzer <titzer@chromium.org> > Reviewed-by: Jochen Eisinger <jochen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#44143} TBR=rmcilroy@chromium.org,titzer@chromium.org,jochen@chromium.org,v8-reviews@googlegroups.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Change-Id: I96cc0e2ca225b9a76eaaf604cd240e71176736ba Reviewed-on: https://chromium-review.googlesource.com/459513Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44146}
-
Ross McIlroy authored
Perf-sheriffs please revert if this causes any performance regressions. BUG= Change-Id: I9ead7148e1e0146ece3614df49fd031dd1e357fe Reviewed-on: https://chromium-review.googlesource.com/445159 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44143}
-
- 06 Mar, 2017 1 commit
-
-
Ross McIlroy authored
Deletion can cause collisions to be moved in the map which breaks iteration. For now just remove this support. Also add some additional collision tests to the test. BUG=v8:5203 Change-Id: I54a0a4af51da08b3f963dc1d7661dba291e4efea Reviewed-on: https://chromium-review.googlesource.com/445900Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43621}
-
- 22 Feb, 2017 2 commits
-
-
Ross McIlroy authored
During scavanges multiple different ThinStrings can end up pointing to the same internalized string. This means that the same key/value pair can be re-inserted during rehash operations, so the values_[index] might not be null when inserting the value. BUG=chromium:695029 Change-Id: I5f693586bb60d5a2bbe89f05cb5b7f5fe26a23b2 Reviewed-on: https://chromium-review.googlesource.com/446380Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43379}
-
Ross McIlroy authored
In order to use the IdentityMap in the CompilerDispatcher the following support is added: - Support for deleting entries - Support for iterating through the entries. - Support for AllocationPolicy to enable non-zone allocation of backing stores. - Also refactors the code a bit. BUG=v8:5203 Change-Id: I8b616cba8ae9dc22a7f4d76070fbb318c4edc80d Reviewed-on: https://chromium-review.googlesource.com/444409Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43362}
-
- 20 Sep, 2016 1 commit
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
- 16 Feb, 2016 1 commit
-
-
rmcilroy authored
Reduces time for ConstantArrayBuilderTest.AllocateAllEntries from 21000ms to 106ms in debug mode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1696363002 Cr-Commit-Position: refs/heads/master@{#34038}
-
- 02 Feb, 2016 1 commit
-
-
oth authored
Moves the temporary register allocator out of the bytecode array builder into TemporaryRegisterAllocator class and adds unittests. Particular must be taken around the translation window boundary motivating the addition of tests. Also adds a Clear() method to IdentityMap() which is called by the destructor. This allows classes to hold an IdentityMap if they are zone allocated. Classes must call Clear() before the zone is re-cycled or face v8 heap corruption. BUG=v8:4280,v8:4675 LOG=N Review URL: https://codereview.chromium.org/1651133002 Cr-Commit-Position: refs/heads/master@{#33686}
-
- 26 Oct, 2015 3 commits
-
-
yangguo authored
R=bmeurer@chromium.org Committed: https://crrev.com/15f36b2b1e166a511966a9991fddea94f890a755 Cr-Commit-Position: refs/heads/master@{#31566} Review URL: https://codereview.chromium.org/1423833003 Cr-Commit-Position: refs/heads/master@{#31576}
-
yangguo authored
Revert of Canonicalize handles for optimized compilation. (patchset #1 id:1 of https://codereview.chromium.org/1423833003/ ) Reason for revert: GC stress failure on ia32 optdebug: /tmp/runfswAKT/out/Debug/d8 --test --random-seed=-1536184370 --turbo --always-opt --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --stack-size=46 /tmp/runfswAKT/test/mjsunit/mjsunit.js /tmp/runfswAKT/test/mjsunit/regress/regress-1132.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation Run #1 Exit code: -6 Result: FAIL Expected outcomes: PASS Duration: 00:06:279 Stderr: # # Fatal error in ../../src/hashmap.h, line 248 # Check failed: base::bits::IsPowerOfTwo32(capacity_). # ==== C stack trace =============================== Original issue's description: > Canonicalize handles for optimized compilation. > > R=bmeurer@chromium.org > > Committed: https://crrev.com/15f36b2b1e166a511966a9991fddea94f890a755 > Cr-Commit-Position: refs/heads/master@{#31566} TBR=jochen@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1417013007 Cr-Commit-Position: refs/heads/master@{#31570}
-
yangguo authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1423833003 Cr-Commit-Position: refs/heads/master@{#31566}
-
- 23 Oct, 2015 1 commit
-
-
yangguo authored
This removes the requirement for handles as arguments, but also removes concurrency support, which is not being used at the moment. Supporting concurrency could be done by introducing a sibling class to IdentityMap that includes RelocationLock on method calls. R=bmeurer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/1419563004 Cr-Commit-Position: refs/heads/master@{#31510}
-
- 22 Oct, 2015 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1417203003 Cr-Commit-Position: refs/heads/master@{#31470}
-
- 28 Aug, 2015 1 commit
-
-
mstarzinger authored
This data structure uses the public heap API only and is not specific to any heap internals. It should be usable throughout V8 and inclusion of the header file should not be restricted. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1320503004 Cr-Commit-Position: refs/heads/master@{#30443}
-
- 18 Aug, 2015 1 commit
-
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "heap.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1301583003 Cr-Commit-Position: refs/heads/master@{#30227}
-
- 17 Aug, 2015 1 commit
-
-
mstarzinger authored
R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1291833003 Cr-Commit-Position: refs/heads/master@{#30195}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 11 May, 2015 1 commit
-
-
wingo authored
R=svenpanne@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1128043002 Cr-Commit-Position: refs/heads/master@{#28337}
-
- 06 May, 2015 1 commit
-
-
titzer authored
R=hpayer@chromium.org, erikcorry@chromium.org BUG= Review URL: https://codereview.chromium.org/1105693002 Cr-Commit-Position: refs/heads/master@{#28257}
-