- 23 Aug, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2268303002 Cr-Commit-Position: refs/heads/master@{#38818}
-
- 12 Aug, 2016 2 commits
-
-
mlippautz authored
Revert of "[heap] Switch to 500k pages" (patchset #11 id:220001 of https://codereview.chromium.org/2232653003/ ) Reason for revert: Breaks benchmark with --turbo on avx2 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/9895 Original issue's description: > Reland of "[heap] Switch to 500k pages" > > Decrease regular heap object size to 400k. In a follow up, we can now get rid of > the new space border page while keeping the 1M minimum new space size. > > BUG=chromium:636331 > > This reverts commit 555c9619. > > Committed: https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609 > Cr-Commit-Position: refs/heads/master@{#38608} TBR=hpayer@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2239323002 Cr-Commit-Position: refs/heads/master@{#38613}
-
mlippautz authored
Decrease regular heap object size to 400k. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. BUG=chromium:636331 This reverts commit 555c9619. Review-Url: https://codereview.chromium.org/2232653003 Cr-Commit-Position: refs/heads/master@{#38608}
-
- 10 Aug, 2016 2 commits
-
-
mlippautz authored
Revert of [heap] Switch to 500k pages (patchset #24 id:780001 of https://codereview.chromium.org/2013713003/ ) Reason for revert: Failures on waterfall: e.g. http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11134 Original issue's description: > [heap] Switch to 500k pages > > - Decrease regular heap object size to 300k, keeping the same ration (60%) > between this limit and page size. > > In a follow up, we can now get rid of the new space border page while > keeping the 1M minimum new space size. > > Some results (v8.infinite_scroll; 3 runs): > - evacuate.avg: +15.3% (1.4->1.2) > - evacuate.max: +24.4% (2.4->1.8) > > BUG=chromium:581412 > LOG=N > R=hpayer@chromium.org, ulan@chromium.org, yangguo@chromium.org > > Committed: https://crrev.com/ffe5c670e1559d11e7b252e15fec38765e7dbe4f > Cr-Commit-Position: refs/heads/master@{#38533} TBR=hpayer@chromium.org,ulan@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:581412 Review-Url: https://codereview.chromium.org/2229403003 Cr-Commit-Position: refs/heads/master@{#38537}
-
mlippautz authored
- Decrease regular heap object size to 300k, keeping the same ration (60%) between this limit and page size. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. Some results (v8.infinite_scroll; 3 runs): - evacuate.avg: +15.3% (1.4->1.2) - evacuate.max: +24.4% (2.4->1.8) BUG=chromium:581412 LOG=N R=hpayer@chromium.org, ulan@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2013713003 Cr-Commit-Position: refs/heads/master@{#38533}
-
- 09 Aug, 2016 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org TEST=cctest/test-serialize/CodeSerializerLargeCodeObject Review-Url: https://codereview.chromium.org/2226233002 Cr-Commit-Position: refs/heads/master@{#38489}
-
- 04 Aug, 2016 1 commit
-
-
ahaas authored
References in code objects to new-space embedded objects have to be recorded in a remembered set so that they get updated by the garbage collector. TEST=cctest/test-serialize/CodeSerializerEmbeddedObject R=ulan@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2200333004 Cr-Commit-Position: refs/heads/master@{#38335}
-
- 01 Aug, 2016 1 commit
-
-
jochen authored
Also remove unnecessary includes of scopeinfo.h all over the place R=marja@chromium.org TBR=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2197973002 Cr-Commit-Position: refs/heads/master@{#38204}
-
- 01 Jul, 2016 1 commit
-
-
bmeurer authored
Import fdlibm versions of acos, acosh, asin and asinh, which are more precise and produce the same result across platforms (we were using libm versions for asin and acos so far, where both speed and precision depended on the operating system so far). Introduce appropriate TurboFan operators for these functions and use them both for inlining and for the generic builtin. Also migrate the Math.imul and Math.fround builtins to TurboFan builtins to ensure that their behavior is always exactly the same as the inlined TurboFan version (i.e. C++ truncation semantics for double to float don't necessarily meet the JavaScript semantics). For completeness, also migrate Math.sign, which can even get some nice love in TurboFan. Drive-by-fix: Some alpha-sorting on the Math related functions, and cleanup the list of Math intrinsics that we have to export via the native context currently. BUG=v8:3266,v8:3496,v8:3509,v8:3952,v8:5169,v8:5170,v8:5171,v8:5172 TBR=rossberg@chromium.org R=franzih@chromium.org Review-Url: https://codereview.chromium.org/2116753002 Cr-Commit-Position: refs/heads/master@{#37476}
-
- 30 Jun, 2016 1 commit
-
-
mvstanton authored
BUG=v8:5086 Review-Url: https://codereview.chromium.org/2083573002 Cr-Commit-Position: refs/heads/master@{#37424}
-
- 28 Jun, 2016 2 commits
-
-
yangguo authored
This part of the snapshot API should not be in use yet, so we can still change this. The motivation for this change is: - Use MaybeHandle where reasonable. - Remove ambiguity: when we use index to create context from snapshot, we should not have a silent fallback if snapshot is not available. - Symmetry: rename to Context::FromSnapshot to mirror templates. R=jochen@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2100073002 Cr-Commit-Position: refs/heads/master@{#37334}
-
ahaas authored
The reason for reverting is: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set never point to to-space. This reland-CL allows duplicates in the remembered set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved. Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js Review-Url: https://codereview.chromium.org/2097023002 Cr-Commit-Position: refs/heads/master@{#37325}
-
- 23 Jun, 2016 2 commits
-
-
vogelheim authored
Revert of Reland [heap] Avoid the use of cells to point from code to new-space objects. (patchset #3 id:40001 of https://codereview.chromium.org/2091733002/ ) Reason for revert: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot # # Fatal error in ../../src/heap/mark-compact.cc, line 3715 # Check failed: Page::FromAddress(reinterpret_cast<HeapObject*>(*slot)->address()) ->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION). # I can reproduce locally, and local revert also fixes it -> revert. Reproduce with: out/Debug/d8 --test --random-seed=2140216864 --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --allow-natives-syntax --harmony-tailcalls test/mjsunit/mjsunit.js test/mjsunit/es6/tail-call-megatest-shard2.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation (Maybe run in loop; it's flaky when broken; but passes reliably w/ revert.) Original issue's description: > Reland [heap] Avoid the use of cells to point from code to new-space objects. > > The reason for reverting was: [Sheriff] Breaks arm debug: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038. > > The problem was the dereferencing of handles for smi checks. It turned out > that these smi checks can be removed anyways, both on arm and on mips. > > Additionally some rebasing was necessary. > > Original issue's description: > > Cells were needed originally because there was no typed remembered set to > record direct pointers from code space to new space. A previous > CL (https://codereview.chromium.org/2003553002/) already introduced > the remembered set, this CL uses it. > > This CL > * stores direct pointers in code objects, even if the target is in new space, > * records the slot of the pointer in typed-old-to-new remembered set, > * adds a list which stores weak code-to-new-space references, > * adds a test to test-heap.cc for weak code-to-new-space references, > * removes prints in tail-call-megatest.js > > R=mlippautz@chromium.org > > Committed: https://crrev.com/5508e16592522658587da71ba6743c8e832fe4d1 > Cr-Commit-Position: refs/heads/master@{#37217} TBR=mlippautz@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2090983002 Cr-Commit-Position: refs/heads/master@{#37221}
-
ahaas authored
The reason for reverting was: [Sheriff] Breaks arm debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038. The problem was the dereferencing of handles for smi checks. It turned out that these smi checks can be removed anyways, both on arm and on mips. Additionally some rebasing was necessary. Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js R=mlippautz@chromium.org Review-Url: https://codereview.chromium.org/2091733002 Cr-Commit-Position: refs/heads/master@{#37217}
-
- 21 Jun, 2016 3 commits
-
-
machenbach authored
Revert of [heap] Avoid the use of cells to point from code to new-space objects. (patchset #7 id:120001 of https://codereview.chromium.org/2045263002/ ) Reason for revert: [Sheriff] Breaks arm debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038 Original issue's description: > [heap] Avoid the use of cells to point from code to new-space objects. > > Cells were needed originally because there was no typed remembered set to > record direct pointers from code space to new space. A previous > CL (https://codereview.chromium.org/2003553002/) already introduced > the remembered set, this CL uses it. > > This CL > * stores direct pointers in code objects, even if the target is in new space, > * records the slot of the pointer in typed-old-to-new remembered set, > * adds a list which stores weak code-to-new-space references, > * adds a test to test-heap.cc for weak code-to-new-space references, > * removes prints in tail-call-megatest.js > > R=ulan@chromium.org > > Committed: https://crrev.com/2d2087b79a293a92a6ed34a2775e481ff2173b3c > Cr-Commit-Position: refs/heads/master@{#37134} TBR=titzer@chromium.org,ulan@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2087463004 Cr-Commit-Position: refs/heads/master@{#37139}
-
ahaas authored
Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2045263002 Cr-Commit-Position: refs/heads/master@{#37134}
-
yangguo authored
R=jochen@chromium.org, verwaest@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2076083002 Cr-Commit-Position: refs/heads/master@{#37122}
-
- 20 Jun, 2016 1 commit
-
-
yangguo authored
R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2066993004 Cr-Commit-Position: refs/heads/master@{#37109}
-
- 17 Jun, 2016 1 commit
-
-
bmeurer authored
Import base::ieee754::cos() and base::ieee754::sin() from fdlibm and introduce Float64Cos and Float64Sin TurboFan operator based on that, similar to what we do for Float64Log. Rewrite Math.cos() and Math.sin() as TurboFan builtins and use those operators to also inline Math.cos() and Math.sin() into optimized TurboFan functions. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel R=mvstanton@chromium.org BUG=v8:5086,v8:5118 Review-Url: https://codereview.chromium.org/2073123002 Cr-Commit-Position: refs/heads/master@{#37072}
-
- 15 Jun, 2016 1 commit
-
-
yangguo authored
R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2055203002 Cr-Commit-Position: refs/heads/master@{#37008}
-
- 10 Jun, 2016 3 commits
-
-
yangguo authored
R=vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2052433003 Cr-Commit-Position: refs/heads/master@{#36890}
-
yangguo authored
R=vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2051043003 Cr-Commit-Position: refs/heads/master@{#36887}
-
yangguo authored
And use it to implement existing the existing snapshot API. R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2046423002 Cr-Commit-Position: refs/heads/master@{#36879}
-
- 20 May, 2016 1 commit
-
-
mlippautz authored
- Move usable functions into proper heap-utils.h/.cc files and remove utils-inl.h file - Fix assumptions accross the board relying on certain behavior that is not invariant This is a requirement for modifying page size. BUG=chromium:581412 LOG=N R=ulan@chromium.org Review-Url: https://codereview.chromium.org/1999753002 Cr-Commit-Position: refs/heads/master@{#36410}
-
- 19 May, 2016 1 commit
-
-
yangguo authored
R=mtrofin@chromium.org Review-Url: https://codereview.chromium.org/1989203004 Cr-Commit-Position: refs/heads/master@{#36363}
-
- 17 Mar, 2016 2 commits
-
-
yangguo authored
Immortal immovable roots must be allocated on the first page of the space. If serializing the root list exceeds the first page, immortal immovable root objects might end up outside of the first page. That could cause missing write barriers. We now iterate the root list twice. The first time we only serialize immortal immovable root objects. The second time we serialize the rest. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1811913002 Cr-Commit-Position: refs/heads/master@{#34859}
-
yangguo authored
A startup snapshot is considered cold when it does not contain any function code. We can now create a warm startup snapshot from a cold one by running a warm-up script. Functions exercised by the warm-up script are compiled and its code included in the warm startup snapshot. Side effects caused by the warm-up script does not persist. R=vogelheim@chromium.org BUG=v8:4836 LOG=Y Review URL: https://codereview.chromium.org/1805903002 Cr-Commit-Position: refs/heads/master@{#34849}
-
- 16 Mar, 2016 1 commit
-
-
yangguo authored
Reland of Allow Math.random to be called when creating a custom startup snapshot. (patchset #1 id:1 of https://codereview.chromium.org/1798863003/ ) Reason for revert: This seems not to change performance. Original issue's description: > Revert of Allow Math.random to be called when creating a custom startup snapshot. (patchset #2 id:20001 of https://codereview.chromium.org/1780173002/ ) > > Reason for revert: > Regresses performance on base64 benchmark. > > Original issue's description: > > Allow Math.random to be called when creating a custom startup snapshot. > > > > R=jkummerow@chromium.org > > BUG=v8:4810 > > LOG=N > > > > Committed: https://crrev.com/6a7ec6a3bf779cdd41c66a768fd7a37195ed7b7f > > Cr-Commit-Position: refs/heads/master@{#34705} > > TBR=jkummerow@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=v8:4810, chromium:594484 > LOG=N > > Committed: https://crrev.com/b7be51cd33bc81d768dbf5632ba0c68843448e37 > Cr-Commit-Position: refs/heads/master@{#34739} TBR=jkummerow@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:4810, chromium:594484 LOG=N Review URL: https://codereview.chromium.org/1806713003 Cr-Commit-Position: refs/heads/master@{#34820}
-
- 14 Mar, 2016 2 commits
-
-
yangguo authored
R=vogelheim@chromium.org BUG=chromium:594551 LOG=N Review URL: https://codereview.chromium.org/1804433004 Cr-Commit-Position: refs/heads/master@{#34761}
-
yangguo authored
Revert of Allow Math.random to be called when creating a custom startup snapshot. (patchset #2 id:20001 of https://codereview.chromium.org/1780173002/ ) Reason for revert: Regresses performance on base64 benchmark. Original issue's description: > Allow Math.random to be called when creating a custom startup snapshot. > > R=jkummerow@chromium.org > BUG=v8:4810 > LOG=N > > Committed: https://crrev.com/6a7ec6a3bf779cdd41c66a768fd7a37195ed7b7f > Cr-Commit-Position: refs/heads/master@{#34705} TBR=jkummerow@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:4810, chromium:594484 LOG=N Review URL: https://codereview.chromium.org/1798863003 Cr-Commit-Position: refs/heads/master@{#34739}
-
- 11 Mar, 2016 2 commits
-
-
mythria authored
Updates cctest.status and also updates the test cctest/test-serialize/SerializeInternalReference to return success when FLAG_ignition is true. This test tests for internal references and is not relevant for interpreter. BUG=v8:4280,v8:4680 LOG=N Review URL: https://codereview.chromium.org/1782893002 Cr-Commit-Position: refs/heads/master@{#34723}
-
yangguo authored
R=jkummerow@chromium.org BUG=v8:4810 LOG=N Review URL: https://codereview.chromium.org/1780173002 Cr-Commit-Position: refs/heads/master@{#34705}
-
- 10 Mar, 2016 2 commits
-
-
yangguo authored
Previously, optimization has been disabled because of an assertion failure, which requires the context to be linked into the weak native context list of the heap. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1777883003 Cr-Commit-Position: refs/heads/master@{#34661}
-
yangguo authored
Changes include: - better test coverage for builds with snapshot - write snapshot blobs to buffer instead of test serialization files - renamed tests R=machenbach@chromium.org Review URL: https://codereview.chromium.org/1777213002 Cr-Commit-Position: refs/heads/master@{#34657}
-
- 08 Mar, 2016 1 commit
-
-
mstarzinger authored
This is a pure refactoring and renaming of methods in the compiler API with the goal to increase readability. Also the compiler API is moved to the top of the file, as it is the central piece in that file. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1766623004 Cr-Commit-Position: refs/heads/master@{#34579}
-
- 02 Mar, 2016 1 commit
-
-
machenbach authored
BUG= Review URL: https://codereview.chromium.org/1753803003 Cr-Commit-Position: refs/heads/master@{#34428}
-
- 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}
-
- 15 Dec, 2015 1 commit
-
-
yangguo authored
credits to gcov. R=vogelheim@chromium.org Review URL: https://codereview.chromium.org/1529763002 Cr-Commit-Position: refs/heads/master@{#32859}
-
- 09 Dec, 2015 2 commits
-
-
mlippautz authored
* Move most heap related tests into heap/ subdir * IWYU for heap utility functions R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1512553002 Cr-Commit-Position: refs/heads/master@{#32706}
-
jochen authored
Embedders still can use those APIs by default test-api.cc still has an exception to use the old APIs... BUG=v8:4143 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1505803004 Cr-Commit-Position: refs/heads/master@{#32701}
-