- 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}
-
- 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}
-
- 05 Apr, 2017 2 commits
-
-
Michael Achenbach authored
This reverts commit 4bca9dc7. Reason for revert: Breaks mips builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/8600 Original change's description: > [compiler-dispatcher] Use an integer job id. > > It enables jobs without a SharedFunctionInfo. > > BUG=v8:6093 > > Change-Id: Icc5f01512c270a55349087d418b6be82ad5c6cb4 > Reviewed-on: https://chromium-review.googlesource.com/467148 > Commit-Queue: Wiktor Garbacz <wiktorg@google.com> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Jochen Eisinger <jochen@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#44402} TBR=rmcilroy@chromium.org,marja@chromium.org,jochen@chromium.org,rmcilroy@google.com,wiktorg@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6093 Change-Id: Ie8d26f4e2d42f67a1cfa91269e80e407ed3f0799 Reviewed-on: https://chromium-review.googlesource.com/468887Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#44404}
-
Wiktor Garbacz authored
It enables jobs without a SharedFunctionInfo. BUG=v8:6093 Change-Id: Icc5f01512c270a55349087d418b6be82ad5c6cb4 Reviewed-on: https://chromium-review.googlesource.com/467148 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44402}
-
- 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 3 commits
-
-
Ross McIlroy authored
This reverts commit 087e95ba. Reason for revert: <INSERT REASONING HERE> Original change's description: > [Compiler] Use IdentityMap to store jobs in CompilerDispatcher. > > Stores jobs in an IdentityMap keyed by their SharedFunctionInfo to enable > fast checking of whether a job is enqueued. > > BUG=v8:5203 > > Change-Id: I6c37972093515a27077f79594cad27e32e1a4e7c > Reviewed-on: https://chromium-review.googlesource.com/444768 > Reviewed-by: Jochen Eisinger <jochen@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#43370} TBR=rmcilroy@chromium.org,jochen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203 Change-Id: I5d1101bdae6939378dad595b26698fe2aaaad35e Reviewed-on: https://chromium-review.googlesource.com/446357Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43372}
-
Ross McIlroy authored
Stores jobs in an IdentityMap keyed by their SharedFunctionInfo to enable fast checking of whether a job is enqueued. BUG=v8:5203 Change-Id: I6c37972093515a27077f79594cad27e32e1a4e7c Reviewed-on: https://chromium-review.googlesource.com/444768Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#43370}
-
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}
-
- 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}
-
- 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}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 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}
-
- 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}
-
- 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}
-