- 14 Nov, 2016 1 commit
-
-
yangguo authored
Changes include: - Adding V8_EXPORT macro for SnapshotCreator - Removing outdated DCHECKs. - Allow nullptr as external reference. This required a... - Refactoring of hashmaps used by the serializer. - Remove external references for counters. These are not used anywhere for isolates that are being serialized. - Put template infos into the partial snapshot cache. - Remove unnecessary presubmit check for external references. mksnapshot crashes if external references are missing. R=jochen@chromium.org, vogelheim@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2490783004 Cr-Commit-Position: refs/heads/master@{#40949}
-
- 11 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2481013010 Cr-Commit-Position: refs/heads/master@{#40927}
-
- 04 Nov, 2016 3 commits
-
-
yangguo authored
This is no longer necessary. Isolates created for serialization have optimization disabled anyways. R=jkummerow@chromium.org Review-Url: https://codereview.chromium.org/2479823002 Cr-Commit-Position: refs/heads/master@{#40761}
-
dcheng authored
BUG=v8:5588 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2475433008 Cr-Commit-Position: refs/heads/master@{#40755}
-
yangguo authored
- split up cctest/test-api/Threading* - shortened mjsunit/math-floor-part* - split up cctest/test-serialize/CustomSnapshotDataBlob - skipped mjsunit/regress/regress-crbug-474297 unless gc-stress - shortened cctest/test-serialize/CodeSerializerLargeCodeObject R=jkummerow@chromium.org Review-Url: https://codereview.chromium.org/2470143004 Cr-Commit-Position: refs/heads/master@{#40753}
-
- 31 Oct, 2016 1 commit
-
-
mstarzinger authored
This enables Ignition unconditionally for all code that is destined for optimization with TurboFan. This ensures all optimization attempts will go through the BytecodeGraphBuilder and that the AstGraphBuilder pipe is dried out in practice. patch from issue 2427953002 at patchset 120001 (http://crrev.com/2427953002#ps120001) R=mvstanton@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2453973004 Cr-Commit-Position: refs/heads/master@{#40663}
-
- 27 Oct, 2016 1 commit
-
-
yangguo authored
See https://goo.gl/C9U1dL BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2452333002 Cr-Commit-Position: refs/heads/master@{#40623}
-
- 20 Oct, 2016 2 commits
-
-
mstarzinger authored
Breaks layout tests on Blink builders. TBR=machenbach@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2428413004 Cr-Commit-Position: refs/heads/master@{#40471}
-
mstarzinger authored
This enables Ignition unconditionally for all code that is destined for optimization with TurboFan. This ensures all optimization attempts will go through the BytecodeGraphBuilder and that the AstGraphBuilder pipe is dried out in practice. R=mvstanton@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2427953002 Cr-Commit-Position: refs/heads/master@{#40462}
-
- 18 Oct, 2016 2 commits
-
-
bmeurer authored
R=epertoso@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2424403002 Cr-Commit-Position: refs/heads/master@{#40399}
-
yangguo authored
Unknown external references must trigger assertion failure. Review-Url: https://codereview.chromium.org/2428463002 Cr-Commit-Position: refs/heads/master@{#40391}
-
- 07 Oct, 2016 1 commit
-
-
bmeurer authored
This implicitly convers parseFloat on the global object as well, since it's the same function. This is mostly straight-forward, but adds another fast case for HeapNumbers as well. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2395373002 Cr-Commit-Position: refs/heads/master@{#40072}
-
- 07 Sep, 2016 3 commits
-
-
bjaideep authored
On PPC the testcase CodeSerializerLargeCodeObject fails as the object gets allocated in the code_space section of the heap. This is because the code_space gets expanded successfully to 1 page size (4MB on PPC) and can accommodate the object (size=3784608 bytes). Increasing size of the compiled source to (5096192 bytes) so that code_space is not expanded and the space is allocated in the Large Object space of the heap. Testcase was added as part of https://codereview.chromium.org/2226233002 R=mstarzinger@chromium.org, bmeurer@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2314843003 Cr-Commit-Position: refs/heads/master@{#39252}
-
bmeurer authored
Migrate the isNaN, isFinite, Number.isFinite, Number.isInteger, Number.isSafeInteger and Number.isNaN predicates to TurboFan builtins and make them optimizable (for certain input types) in JavaScript callees being optimized by TurboFan. That means both the baseline and the optimized version is now always at maximum, consistent performance. Especially TurboFan suffered from poor baseline (and optimized) performance because it cannot play the same weird tricks that Crankshaft plays for %_IsSmi. This also adds a bunch of new tests to properly cover the use of the Harmony predicates in optimized code. R=franzih@chromium.org BUG=v8:5049,v8:5267 Review-Url: https://codereview.chromium.org/2313073002 Cr-Commit-Position: refs/heads/master@{#39242}
-
ulan authored
Now callers of Heap::CollectGarbage* functions need to specify the reason as an enum value instead of a string. Subsequent CL will add stats counter for GC reason. BUG= Review-Url: https://codereview.chromium.org/2310143002 Cr-Commit-Position: refs/heads/master@{#39239}
-
- 02 Sep, 2016 1 commit
-
-
adamk authored
This makes for slightly faster rebuilds when touching parser-base.h (which changes frequently!). Also takes care of an old TODO, moving CompileTimeValue into its own file under ast/, where it properly belongs. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305883002 Cr-Commit-Position: refs/heads/master@{#39141}
-
- 01 Sep, 2016 1 commit
-
-
mlippautz authored
BUG=chromium:636331 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2289683002 Cr-Commit-Position: refs/heads/master@{#39106}
-
- 28 Aug, 2016 1 commit
-
-
mlippautz authored
Revert of "[heap] Switch to 500k pages" (patchset #1 id:1 of https://codereview.chromium.org/2278653003/ ) Reason for revert: Tanks pretty much alle metrics across the board. Probably LO space limit too low but needs investigation. Original issue's description: > [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. > > This reverts commit 1617043c. > > BUG=chromium:636331 > > Committed: https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83 > Cr-Commit-Position: refs/heads/master@{#38916} TBR=ulan@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:636331 NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2289493002 Cr-Commit-Position: refs/heads/master@{#38960}
-
- 25 Aug, 2016 1 commit
-
-
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. This reverts commit 1617043c. BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2278653003 Cr-Commit-Position: refs/heads/master@{#38916}
-
- 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 1 commit
-
-
yangguo authored
R=vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2052433003 Cr-Commit-Position: refs/heads/master@{#36890}
-