- 14 Mar, 2016 1 commit
-
-
hpayer authored
When black allocation is active, all objects allocated in old space are allocated black. Important: With that change, you cannot assume anymore that new objects are white right after their allocation. Currently, black allocation is enabled when incremental marking is started. This feature can be turned off via flag: --noblack-allocation BUG=chromium:561449 LOG=n Review URL: https://codereview.chromium.org/1420423009 Cr-Commit-Position: refs/heads/master@{#34743}
-
- 11 Mar, 2016 5 commits
-
-
mlippautz authored
The code actually setting this flag has already been removed. This CL merely removes dead code. BUG= Review URL: https://codereview.chromium.org/1788753002 Cr-Commit-Position: refs/heads/master@{#34729}
-
mlippautz authored
This is a fix that removes a left over from https://crrev.com/4566531c6e593ae8bffc2ef96f82c91d15a68acf With this flag set to false still present, we would race on inserting in the local old-to-new remembered set. R=ulan@chormium.org BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1783283003 Cr-Commit-Position: refs/heads/master@{#34728}
-
Hannes Payer authored
BUG=chromium:561449 LOG=n R=ulan@chromium.org Review URL: https://codereview.chromium.org/1790433005 . Cr-Commit-Position: refs/heads/master@{#34726}
-
joransiu authored
GCC on S390 31-bit treats size_t as 'long unsigned int', which is incompatible with %d format specifier that expects an 'int'. Introduce a new V8 SIZET PREFIX to use %zd instead. R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com,yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1782293002 Cr-Commit-Position: refs/heads/master@{#34724}
-
hpayer authored
BUG=chromium:561449 LOG=n Review URL: https://codereview.chromium.org/1783313003 Cr-Commit-Position: refs/heads/master@{#34722}
-
- 10 Mar, 2016 2 commits
-
-
mlippautz authored
Move evacuation of new and old space pages to the provided framework for parallelization. Drive-by-fix: Remove left overs from POPULAR_PAGE flag. BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1782043004 Cr-Commit-Position: refs/heads/master@{#34687}
-
ulan authored
BUG=chromium:568495 LOG=NO Review URL: https://codereview.chromium.org/1775003003 Cr-Commit-Position: refs/heads/master@{#34665}
-
- 09 Mar, 2016 3 commits
-
-
hlopko authored
BUG=chromium:468240 LOG=no Review URL: https://codereview.chromium.org/1773273002 Cr-Commit-Position: refs/heads/master@{#34634}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1780663002 Cr-Commit-Position: refs/heads/master@{#34619}
-
hpayer authored
This CL allows the sweeper to free up all memory >= free list item size (3 words). This may reduce memory consumption (especially in map space), but may be worse for allocation order as soon as we start using the tiny category. This CL is just a first step in the right direction. A follow up CL will add customizable free list categories for each old space. BUG=chromium:587026 LOG=n Review URL: https://codereview.chromium.org/1774953003 Cr-Commit-Position: refs/heads/master@{#34612}
-
- 08 Mar, 2016 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1773593002 Cr-Commit-Position: refs/heads/master@{#34572}
-
- 07 Mar, 2016 4 commits
-
-
ulan authored
Since we record slots for weak list fields, there is no need to iterate over them after evacuation. We just need to update the roots for which we didn't record slots. This speeds up the evacuate_update_pointers_weak phase by ~2.5x. BUG= Review URL: https://codereview.chromium.org/1772803002 Cr-Commit-Position: refs/heads/master@{#34555}
-
haraken authored
Now that the embedder side supports v8::kGCCallbackFlagCollectAllAvailableGarbage, this CL removes the old v8::kGCCallbackFlagForced from Heap::CollectAllAvailableGarbage. BUG=591463 LOG=Y Review URL: https://codereview.chromium.org/1769893002 Cr-Commit-Position: refs/heads/master@{#34539}
-
hablich authored
Revert of Use v8::kGCCallbackFlagCollectAllAvailableGarbage in Heap::CollectAllAvailableGarbage (patchset #1 id:1 of https://codereview.chromium.org/1762313002/ ) Reason for revert: Breaks roll https://codereview.chromium.org/1768073002/ : https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/191035 Original issue's description: > Use v8::kGCCallbackFlagCollectAllAvailableGarbage in Heap::CollectAllAvailableGarbage > > Now that the embedder side supports v8::kGCCallbackFlagCollectAllAvailableGarbage, > this CL removes the old v8::kGCCallbackFlagForced from Heap::CollectAllAvailableGarbage. > > BUG=591463 > LOG=Y > > Committed: https://crrev.com/2436674c97f9e0bbc46a4bd75317e6470b4e720d > Cr-Commit-Position: refs/heads/master@{#34517} TBR=jochen@chromium.org,haraken@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=591463 Review URL: https://codereview.chromium.org/1771753002 Cr-Commit-Position: refs/heads/master@{#34520}
-
haraken authored
Now that the embedder side supports v8::kGCCallbackFlagCollectAllAvailableGarbage, this CL removes the old v8::kGCCallbackFlagForced from Heap::CollectAllAvailableGarbage. BUG=591463 LOG=Y Review URL: https://codereview.chromium.org/1762313002 Cr-Commit-Position: refs/heads/master@{#34517}
-
- 04 Mar, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765713003 Cr-Commit-Position: refs/heads/master@{#34492}
-
- 03 Mar, 2016 1 commit
-
-
machenbach authored
This reverts commit 2608ecc7. Revert "Specialize helper methods in the LookupIterator by is_element." This reverts commit 6eb483f8. Revert "Avoid SetPropertyInternal if the LookupIterator is NotFound" This reverts commit ca5bd8d4. Revert "Inline fast-bailout-checks for LookupIterator::UpdateProtector" This reverts commit d98570a1. This breaks layout tests with timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5060 It also seems to break jsfunfuzz: https://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/7930 The other three CLs are reverted to be able to revert the first. BUG=v8:4798 LOG=n TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/1761593003 Cr-Commit-Position: refs/heads/master@{#34457}
-
- 02 Mar, 2016 1 commit
-
-
verwaest authored
This introduces a new instance type and reorders the JSObject types so any type requiring special LookupIterator support can be identified with a single range check. In addition, it restructures the Next for better performance, avoiding unnecessary calls. BUG= Review URL: https://codereview.chromium.org/1751043002 Cr-Commit-Position: refs/heads/master@{#34429}
-
- 01 Mar, 2016 1 commit
-
-
yangguo authored
R=rossberg@chromium.org, ulan@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/1751863002 Cr-Commit-Position: refs/heads/master@{#34395}
-
- 29 Feb, 2016 1 commit
-
-
bmeurer authored
Rename the existing (patching) ToBooleanStub to ToBooleanICStub to match our naming convention, and add a new TurboFan-powered ToBooleanStub, which just does the ToBoolean conversion without any runtime call or code patching, so we can use it for Ignition (and TurboFan). Drive-by-fix: Add an Oddball::to_boolean field similar to the ones we already have for to_string and to_number, so we don't need to actually dispatch on the concrete Oddball at all. R=epertoso@chromium.org, rmcilroy@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1744163002 Cr-Commit-Position: refs/heads/master@{#34361}
-
- 26 Feb, 2016 1 commit
-
-
rmcilroy authored
Adds support for cpu profiler logging to the interpreter. Modifies the the API to be passed AbstractCode objects instead of Code objects, and adds extra functions to AbstractCode which is required by log.cc and cpu-profiler.cc. The main change in sampler.cc is to determine if a stack frame is an interpreter stack frame, and if so, use the bytecode address as the pc for that frame. This allows sampling of bytecode functions. This requires adding support to SafeStackIterator to determine if a frame is interpreted, which we do by checking the PC against pre-stored addresses for the start and end of interpreter entry builtins. Also removes CodeDeleteEvents which are dead code and haven't been reported for some time. Still to do is tracking source positions which will be done in a followup CL. BUG=v8:4766 LOG=N Review URL: https://codereview.chromium.org/1728593002 Cr-Commit-Position: refs/heads/master@{#34321}
-
- 25 Feb, 2016 2 commits
-
-
ulan authored
Reland "Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )" This reverts commit 9146bc5e. This contains a fix for the following crash: 1. We record slots for a fixed array. 2. We trim the fixed array, so that some recorded slots are now in free space. 3. During mark-compact we sweep the page with the fixed array. Now free list items contain memory with recorded slots. 4. We evacuate a byte array using the new free list items. 5. We iterate slots that are now inside the byte array and crash. BUG=chromium:589413,chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1735523002 Cr-Commit-Position: refs/heads/master@{#34302}
-
ulan authored
BUG=chromium:589413 LOG=NO Review URL: https://codereview.chromium.org/1733333002 Cr-Commit-Position: refs/heads/master@{#34295}
-
- 24 Feb, 2016 4 commits
-
-
vogelheim authored
This reduces the memory consumption of SourcePositionTable by ca. 2/3. Over Octane, this reduces the source position table memory consumption from ~370kB to ~115kB, which makes it ca. 10% of the total bytecode size (~1.1MB) ---------------- Reland CL in order to relive the glory days, and also fix memory leak w/ ENABLE_SLOW_CHECKS. SourcePositionTableBuilder used to have a no destructor since everything was zone allocated. But if ENABLE_SLOW_CHECKS, it has a heap allocated member and thus needs a proper constructor. ASAN thankfully notices this, and V8 no longer builds since this is called during mksnapshot. Breakge example: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN%20arm64%20-%20debug%20builder/builds/4829 R=jochen@chromium.org, yangguo@chromium.org, rmcilroy@chromium.org BUG=v8:4690 LOG=y Committed: https://crrev.com/a6f41f7b8226555c5900440f6e3092b3545ee0f6 Cr-Commit-Position: refs/heads/master@{#34250} patch from issue 1704943002 at patchset 200001 (http://crrev.com/1704943002#ps200001) Review URL: https://codereview.chromium.org/1731883003 Cr-Commit-Position: refs/heads/master@{#34256}
-
vogelheim authored
Revert of Encode interpreter::SourcePositionTable as variable-length ints. (patchset #10 id:200001 of https://codereview.chromium.org/1704943002/ ) Reason for revert: Build failure on Linux64 arm64 ASAN: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN%20arm64%20-%20debug%20builder/builds/4829 (Leaks memory, somehow.) Original issue's description: > Encode interpreter::SourcePositionTable as variable-length ints. > > This reduces the memory consumption of SourcePositionTable by ca. 2/3. > Over Octane, this reduces the source position table memory consumption > from ~370kB to ~115kB, which makes it ca. 10% of the total bytecode size > (~1.1MB) > > BUG= > > Committed: https://crrev.com/a6f41f7b8226555c5900440f6e3092b3545ee0f6 > Cr-Commit-Position: refs/heads/master@{#34250} TBR=jochen@chromium.org,rmcilroy@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1728193003 Cr-Commit-Position: refs/heads/master@{#34251}
-
vogelheim authored
This reduces the memory consumption of SourcePositionTable by ca. 2/3. Over Octane, this reduces the source position table memory consumption from ~370kB to ~115kB, which makes it ca. 10% of the total bytecode size (~1.1MB) BUG= Review URL: https://codereview.chromium.org/1704943002 Cr-Commit-Position: refs/heads/master@{#34250}
-
ulan authored
Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ ) Reason for revert: Revert because of canary crashes: crbug.com/589413 Original issue's description: > Replace slots buffer with remembered set. > > Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>. > > The remembered set is extended to support typed slots. > > During parallel evacuation all migration slots are recorded in local slots buffers. > After evacuation all local slots are added to the remembered set. > > BUG=chromium:578883 > LOG=NO > > Committed: https://crrev.com/2285a99ef6f7d52f4f0c4d88a7db4224443ee152 > Cr-Commit-Position: refs/heads/master@{#34212} TBR=jochen@chromium.org,hpayer@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:578883 Review URL: https://codereview.chromium.org/1725073003 Cr-Commit-Position: refs/heads/master@{#34238}
-
- 23 Feb, 2016 1 commit
-
-
ulan authored
Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>. The remembered set is extended to support typed slots. During parallel evacuation all migration slots are recorded in local slots buffers. After evacuation all local slots are added to the remembered set. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1703823002 Cr-Commit-Position: refs/heads/master@{#34212}
-
- 22 Feb, 2016 3 commits
-
-
littledan authored
This patch makes ArraySpeciesCreate fast in V8 by avoiding two property reads when the following conditions are met: - No Array instance has had its __proto__ reset - No Array instance has had a constructor property defined - Array.prototype has not had its constructor changed - Array[Symbol.species] has not been reset For subclasses of Array, or for conditions where one of these assumptions is violated, the full lookup of species is done according to the ArraySpeciesCreate algorithm. Although this is a "performance cliff", it does not come up in the expected typical use case of @@species (Array subclassing), so it is hoped that this can form a good start. Array subclasses will incur the slowness of looking up @@species, but their use won't slow down invocations of, for example, Array.prototype.slice on Array base class instances. Possible future optimizations: - For the fallback case where the assumptions don't hold, optimize the two property lookups. - For Array.prototype.slice and Array.prototype.splice, even if the full lookup of @@species needs to take place, we still could take the rest of the C++ fastpath. However, to do this correctly requires changing the calling convention from C++ to JS to pass the @@species out, so it is not attempted in this patch. With this patch, microbenchmarks of Array.prototype.slice do not suffer a noticeable performance regression, unlike their previous 2.5x penalty. TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/1689733002 Cr-Commit-Position: refs/heads/master@{#34199}
-
yangguo authored
R=mstarzinger@chromium.org, rmcilroy@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1703453002 Cr-Commit-Position: refs/heads/master@{#34190}
-
ulan authored
BUG=chromium:587574 LOG=NO Review URL: https://codereview.chromium.org/1705183003 Cr-Commit-Position: refs/heads/master@{#34188}
-
- 20 Feb, 2016 1 commit
-
-
ulan authored
Slots filtering of left-trimmed arrays assume that two-pointer fillers are not marked. BUG=chromium:585787 LOG=NO TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/1720623002 Cr-Commit-Position: refs/heads/master@{#34177}
-
- 19 Feb, 2016 1 commit
-
-
rmcilroy authored
Adds a profiling counter to each BytecodeArray object, and adds code to Jump and Return bytecode handlers to update this counter by the size of the jump or the distance from the return to the start of the function. This is more accurate than fullcodegen's approach since it takes forward jumps into account as well as back-edges. Modifies RuntimeProfiler to track ticks for interpreted frames. Currently we use the SharedFunctionInfo::profiler_ticks() instead of adding another to tick field to avoid adding another field to BytecodeArray since SharedFunctionInfo::profiler_ticks() is only used by Crankshaft otherwise so we shouldn't need both for BUG=v8:4689 LOG=N Review URL: https://codereview.chromium.org/1707693003 Cr-Commit-Position: refs/heads/master@{#34166}
-
- 18 Feb, 2016 2 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1704353002 Cr-Commit-Position: refs/heads/master@{#34118}
-
fmeawad authored
This CL adds a TRACE_EVENT where there is an isolated LOG, a HistogramTimer or a TimerEvent. Once we have a d8 tracing controller, all TimerEvents will be removed since they do not provide an added value over TRACE_EVENTs. HistogramTimers will remain, but their functionality will be limited to Histograms only. BUG=v8:4562 LOG=N Review URL: https://codereview.chromium.org/1707563002 Cr-Commit-Position: refs/heads/master@{#34099}
-
- 17 Feb, 2016 2 commits
-
-
ulan authored
If sweeping is in progress then we need to filter out slots in free space after array trimming, because the sweeper will add the free space into free list. This CL also fixes a bug in SlotSet::RemoveRange. BUG=chromium:587004 LOG=NO TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/1701963003 Cr-Commit-Position: refs/heads/master@{#34071}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1705713002 Cr-Commit-Position: refs/heads/master@{#34070}
-
- 16 Feb, 2016 2 commits
-
-
hpayer authored
BUG=chromium:587026 LOG=n Review URL: https://codereview.chromium.org/1696413002 Cr-Commit-Position: refs/heads/master@{#34041}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1694403002 Cr-Commit-Position: refs/heads/master@{#34034}
-