- 06 Aug, 2015 10 commits
-
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#30048}
-
mstarzinger authored
This fixes a corner-case where extending an optimized code map left stale entries in the abandoned copy. This can cause havoc not only in the heap verifier but also in the GC, because stale entries have not been recorded when being trated weakly. Note that this also pre-tenures all optimized code maps into old-space because their lifetime is coupled to the SharedFunctionInfo anyways. R=hpayer@chromium.org TEST=cctest/test-heap/Regress514122 BUG=chromium:514122 LOG=N Review URL: https://codereview.chromium.org/1277873002 Cr-Commit-Position: refs/heads/master@{#30047}
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1276843004 Cr-Commit-Position: refs/heads/master@{#30046}
-
machenbach authored
Use the same path separator for test cases on the cmd-line on all platforms as in testcase.GetLabel, which is used to report failures. BUG=chromium:511215 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1281453003 Cr-Commit-Position: refs/heads/master@{#30045}
-
hpayer authored
When allocation rate is low and we are close to the new space limit, we should perform a scavenge during idle time. BUG=chromium:517395 LOG=n Review URL: https://codereview.chromium.org/1272573006 Cr-Commit-Position: refs/heads/master@{#30044}
-
mlippautz authored
We missed a check whether we can actually do incremental marking when starting it on reaching the external allocation limit. BUG=chromium:517195 LOG=N Review URL: https://codereview.chromium.org/1274983002 Cr-Commit-Position: refs/heads/master@{#30043}
-
yangguo authored
R=adamk@chromium.org BUG=chromium:516775 LOG=N Review URL: https://codereview.chromium.org/1270403002 Cr-Commit-Position: refs/heads/master@{#30042}
-
ulan authored
Idle notification should force marking to make progress. BUG= Review URL: https://codereview.chromium.org/1275573002 Cr-Commit-Position: refs/heads/master@{#30041}
-
jkummerow authored
The maximum valid index is strictly smaller than the maximum valid length. BUG=chromium:516592 LOG=y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1278703003 Cr-Commit-Position: refs/heads/master@{#30040}
-
mtrofin authored
When working on the register allocator, I often need to introspect the various components of the model - e.g. InstructionSequence, Instruction, LiveRange, etc. A pretty printer would help. While we have a suite of operator<< defined for these types, turns out that using them at debug time is close to impossible - gdb has poor (or convoluted) support for instantiating structures (e.g. OFStream, PrintableInstructionSequence, etc), and calling operator<< with pass-by-reference semantics. I explored gdb macros, but hit an issue quite early with instantiating and initializing an OFStream - "virtual baseclass botch". Currently, I have a side-file that I include (and then remove before publishing CLs), which defines wrappers to the above operator<< APIs, but this is becoming quite awkward, and I believe the functionality to be quite useful to anyone working in this (regalloc) area, so it's worth having something better than local side-files. The gdb path seems overly-twisted for the problem at hand, and I've noticed elsewhere (e.g. Object) the presence of Print APIs - hence this change. BUG= Review URL: https://codereview.chromium.org/1280483002 Cr-Commit-Position: refs/heads/master@{#30039}
-
- 05 Aug, 2015 21 commits
-
-
adamk authored
It was shipped in V8 4.4. Review URL: https://codereview.chromium.org/1273543002 Cr-Commit-Position: refs/heads/master@{#30038}
-
Adam Klein authored
Also remove obsolete reference to harmony/object-observe in deopt fuzzer skip section. BUG=chromium:478788 LOG=n TBR=vogelheim@chromium.org Review URL: https://codereview.chromium.org/1272193004 . Cr-Commit-Position: refs/heads/master@{#30037}
-
binji authored
The code previously used a relative timeout and accumulated wait times to see if the timeout was exceeded. Now we convert the timeout into an absolute time, and always compare the current time against that. BUG=v8:4357 R=machenbach@chromium.org LOG=n Review URL: https://codereview.chromium.org/1272733002 Cr-Commit-Position: refs/heads/master@{#30036}
-
adamk authored
It was shipped in V8 4.4. Review URL: https://codereview.chromium.org/1271073002 Cr-Commit-Position: refs/heads/master@{#30035}
-
adamk authored
These flags weren't doing any real work, since the decision of whether some source code is a script or module is made outside the parser (currently, by the V8 API). The only behavior change in this patch is to always parse 'import' and 'export' as their Token values, which changes the error message from "Unexpected reserved word" to "Unexpected token import" (which doesn't seem particularly harmful). Review URL: https://codereview.chromium.org/1262913003 Cr-Commit-Position: refs/heads/master@{#30034}
-
conradw authored
BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1270393002 Cr-Commit-Position: refs/heads/master@{#30033}
-
conradw authored
BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1270423003 Cr-Commit-Position: refs/heads/master@{#30032}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1269343002 Cr-Commit-Position: refs/heads/master@{#30031}
-
mathias authored
TEST=test/intl/string/normalization BUG=v8:4303 LOG=N Review URL: https://codereview.chromium.org/1274653002 Cr-Commit-Position: refs/heads/master@{#30030}
-
yangguo authored
This is only an estimate since it counts objects that could be shared, for example strings, cow arrays, heap numbers, etc. It however ignores objects that could be shared, but may only be used by the context to be measured, for example shared function infos, script objects, scope infos, etc. R=jochen@chromium.org Review URL: https://codereview.chromium.org/1268333004 Cr-Commit-Position: refs/heads/master@{#30029}
-
mlippautz authored
With the recent changes to the incremental marking API we can now kick off incremental marking while respecting callback flags. Performance neutral for smoothness.image_decoding_cases on N9 (read: does not crash) as long as we synchronously process phantom callbacks (kGCCallbackFlagForced). OORT single run: "marksweep": { "count": 5, "pause_min": 7.5, "pause_max": 158.8, "pause_avg": 97.52000000000001, "pause_gt_10ms": 4 } --- vs --- "marksweep": { "count": 5, "pause_min": 16.2, "pause_max": 22.1, "pause_avg": 19.32, "pause_gt_10ms": 5 } The number of actual full GCs varies. The improvement manifests in reduced maximum and average pauses. BUG=chromium:515795 LOG=N Review URL: https://codereview.chromium.org/1271253002 Cr-Commit-Position: refs/heads/master@{#30028}
-
hpayer authored
BUG=chromium:507211 LOG=n Review URL: https://codereview.chromium.org/1226773003 Cr-Commit-Position: refs/heads/master@{#30027}
-
yangguo authored
The heuristic can cause weird behavior when bootstrapping. The memory savings is not worth this hassle. Committed: https://crrev.com/fc80f29a582b758d14aae864232624ca45e47ddc Cr-Commit-Position: refs/heads/master@{#30019} Review URL: https://codereview.chromium.org/1265983006 Cr-Commit-Position: refs/heads/master@{#30026}
-
rossberg authored
Previously, examples like (({a = x}, x) => {})({}, 0) did not throw a ReferenceError like they should. This CL - Splits up DeclareFormalParameters such that the formals can be recorded first and declared later. - Declaration then takes the complete parameter list into account. If it is not simple, temporaries are introduced for all parameters. - BuildParameterInitializationBlock desugars all parameters from non-simple lists into let-bindings. - Refactored Pre/ParserFormalParameters, so that the arity information is no longer duplicated in Parser. - Rest is currently handled specially, until rest-via-destructuring has landed. R=adamk@chromium.org, littledan@chromium.org BUG=v8:811 LOG=N Review URL: https://codereview.chromium.org/1259283002 Cr-Commit-Position: refs/heads/master@{#30025}
-
yangguo authored
Revert of Remove serializer-specific hash table size heuristic. (patchset #1 id:1 of https://codereview.chromium.org/1265983006/ ) Reason for revert: This still breaks: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/1296/steps/Mjsunit/logs/load-proxy Test: mjsunit/strong/load-proxy Flags: --stress-opt --always-opt Command: out/Debug/d8 --test --random-seed=2021532800 --stress-opt --always-opt --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --harmony-proxies --strong-mode test/mjsunit/strong/load-proxy.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation Run #1 Exit code: -11 Result: CRASH Expected outcomes: PASS Duration: 00:00:553 Run #2 Exit code: -11 Result: CRASH Expected outcomes: PASS Duration: 00:00:520 Run #3 Exit code: -11 Result: CRASH Expected outcomes: PASS Duration: 00:00:572 Original issue's description: > Remove serializer-specific hash table size heuristic. > > The heuristic can cause weird behavior when bootstrapping. > The memory savings is not worth this hassle. > > Committed: https://crrev.com/fc80f29a582b758d14aae864232624ca45e47ddc > Cr-Commit-Position: refs/heads/master@{#30019} TBR=ulan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1268413002 Cr-Commit-Position: refs/heads/master@{#30024}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1269323003 Cr-Commit-Position: refs/heads/master@{#30023}
-
yangguo authored
Revert of Revert part of "Remove serializer-specific hash table size heuristic." (patchset #1 id:1 of https://codereview.chromium.org/1272123002/ ) Reason for revert: Did not fix issue it was intended to fix. Original issue's description: > Revert part of "Remove serializer-specific hash table size heuristic." > > TBR=machenbach@chromium.org > NOTRY=true > NOTREECHECKS=true > > Committed: https://crrev.com/68e5ae5282f3ba787c27ffa6e92fed6e5ff725e4 > Cr-Commit-Position: refs/heads/master@{#30021} TBR=machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1276443002 Cr-Commit-Position: refs/heads/master@{#30022}
-
yangguo authored
TBR=machenbach@chromium.org NOTRY=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/1272123002 Cr-Commit-Position: refs/heads/master@{#30021}
-
mstarzinger authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/1256283003 Cr-Commit-Position: refs/heads/master@{#30020}
-
yangguo authored
The heuristic can cause weird behavior when bootstrapping. The memory savings is not worth this hassle. Review URL: https://codereview.chromium.org/1265983006 Cr-Commit-Position: refs/heads/master@{#30019}
-
v8-autoroll authored
Rolling v8/tools/clang to c9a343c6a8065127989a05fe2a3fc76c26ad8102 TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1274553002 Cr-Commit-Position: refs/heads/master@{#30018}
-
- 04 Aug, 2015 9 commits
-
-
adamk authored
To avoid tanking context startup performance, only the actual installation of the JS-exposed API is flag-guarded. The remainder of the implementation still resides in the snapshot. Review URL: https://codereview.chromium.org/1257063003 Cr-Commit-Position: refs/heads/master@{#30017}
-
binji authored
BUG=4399 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1260813008 Cr-Commit-Position: refs/heads/master@{#30016}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1267313002 Cr-Commit-Position: refs/heads/master@{#30015}
-
mlippautz authored
Combines: * https://codereview.chromium.org/1273483002/ * https://codereview.chromium.org/1266793003/ This reverts commit 0215fb56. BUG= Review URL: https://codereview.chromium.org/1265273002 Cr-Commit-Position: refs/heads/master@{#30014}
-
adamk authored
BUG=v8:3887 LOG=y Review URL: https://codereview.chromium.org/1267773009 Cr-Commit-Position: refs/heads/master@{#30013}
-
mstarzinger authored
This introduces a CopyFixedArrayAndGrow method on Factory that takes the "grow amount" instead of the "new size" as an argument. The new interface is safer because it allows for mutations by the GC that potentially trim the source array. This also fixes a bug in SharedFunctionInfo::AddToOptimizedCodeMap where the aformentioned scenario led to unused entries within the optimized code map. Note that FixedArray::CopySize is hereby deprecated because it is considered unsafe and should no longer be used. R=hpayer@chromium.org TEST=mjsunit/regress/regress-crbug-513507 BUG=chromium:513507 LOG=n Review URL: https://codereview.chromium.org/1255173006 Cr-Commit-Position: refs/heads/master@{#30012}
-
adamk authored
Revert of GC: Refactor public incremental marking interface in heap (patchset #6 id:100001 of https://codereview.chromium.org/1273483002/ ) Reason for revert: Fails on the MSAN builder: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/3580/steps/Check/logs/RegExpInterruption Likely due to lack of initialization of IncrementalMarking::gc_callback_flags_. Original issue's description: > GC: Refactor incremental marking interface from heap > > BUG= > > Committed: https://crrev.com/c9fcaeb336919ce4b76fded8c8059457e9820250 > Cr-Commit-Position: refs/heads/master@{#30009} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1271823006 Cr-Commit-Position: refs/heads/master@{#30011}
-
adamk authored
BUG=v8:3887 LOG=n Review URL: https://codereview.chromium.org/1259183005 Cr-Commit-Position: refs/heads/master@{#30010}
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1273483002 Cr-Commit-Position: refs/heads/master@{#30009}
-