- 05 Aug, 2015 13 commits
-
-
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 27 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}
-
ulan authored
BUG=chromium:516425 LOG=NO Review URL: https://codereview.chromium.org/1271973002 Cr-Commit-Position: refs/heads/master@{#30008}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1259613006 Cr-Commit-Position: refs/heads/master@{#30007}
-
rossberg authored
TBR=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1264233005 Cr-Commit-Position: refs/heads/master@{#30006}
-
mtrofin authored
Setting up the stage for heuristics that preprocess live ranges before register allocation, and are independent of register allocation - e.g. the deferred blocks heuristic, or the split at call sites heuristic. Added a separate flag for this, since we intend to enable it for the linear allocator as well. Currently, the option is "on" for greedy, as a point in time to enable its testing (through the greedy allocator bots). BUG= Review URL: https://codereview.chromium.org/1256313003 Cr-Commit-Position: refs/heads/master@{#30005}
-
bbudge authored
Change IS_SIMD_OBJECT to IS_SIMD_VALUE, and IsSimdObject to IsSimdValue. R=rossberg LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1253103006 Cr-Commit-Position: refs/heads/master@{#30004}
-
vogelheim authored
The race occurred when Workers were used. Since Workers call Shell::ExecuteString from a different thread, TSAN (correctly) flags this as a racy write. Solution would be to either synchronize the writes, or to 'lift' the write higher up in the call stack and only write the flag from the main thread. This implements this latter solution. These methods call Shell::ExecuteString, but do *not* set script_executed: - ExecuteInThread: Can only occur is JS has already been executed. - Shell::Load: Callback for JS; so JS has already been executed when we get there. - Shell::RunShell: Interactive shell. We no longer need script_executed once we're here. BUG=v8:4330 LOG=N Review URL: https://codereview.chromium.org/1258303004 Cr-Commit-Position: refs/heads/master@{#30003}
-
rossberg authored
Store arity in FormalParameters; store name (instead of var) and is_rest flag in individual parameters. Ensure that the arity is always maintained consistently. This is preparation for more parameter destructuring adjustments. In particular, a follow-up CL will separate parameter recording from declaring the variables. R=adamk@chromium.org, littledan@chromium.org BUG=v8:811 LOG=N Review URL: https://codereview.chromium.org/1259013003 Cr-Commit-Position: refs/heads/master@{#30002}
-
rossberg authored
TBR=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1263043004 Cr-Commit-Position: refs/heads/master@{#30001}
-
yangguo authored
Revert of Remove serializer-specific hash table size heuristic. (patchset #1 id:1 of https://codereview.chromium.org/1265983006/ ) Reason for revert: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/3088/steps/Mjsunit/logs/load-proxy 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/a246e296c6366dcd0a2d8aa0df973d57093178f6 > Cr-Commit-Position: refs/heads/master@{#29992} TBR=ulan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1257873006 Cr-Commit-Position: refs/heads/master@{#30000}
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1269183002 Cr-Commit-Position: refs/heads/master@{#29999}
-
rossberg authored
They need to be properly recorded in the scope's temps set, otherwise allocation doesn't know about them and can break. (Not observable right now, but necessary for follow-up changes to parameter destructuring.) Also, print temporary variables in a useful manner. R=adamk@chromium.org BUG= Review URL: https://codereview.chromium.org/1263563002 Cr-Commit-Position: refs/heads/master@{#29998}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1265243003 Cr-Commit-Position: refs/heads/master@{#29997}
-
ulan authored
BUG=chromium:515873 LOG=NO Review URL: https://codereview.chromium.org/1263373002 Cr-Commit-Position: refs/heads/master@{#29996}
-
yangguo authored
This is a pure refactor and does not change functionality. R=ulan@chromium.org Review URL: https://codereview.chromium.org/1264993002 Cr-Commit-Position: refs/heads/master@{#29995}
-
ulan authored
BUG=chromium:515873 LOG=NO Review URL: https://codereview.chromium.org/1257833005 Cr-Commit-Position: refs/heads/master@{#29994}
-
paul.lind authored
Port 7b9670b6 Only fails in debug builds. TEST=mjsunit/harmony/simd BUG= Review URL: https://codereview.chromium.org/1264103005 Cr-Commit-Position: refs/heads/master@{#29993}
-
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@{#29992}
-
hpayer authored
That makes going to the page safe. Addresses can be in arbitrary locations of an object, e.g. in a large object but not on the first 1M page. BUG= Review URL: https://codereview.chromium.org/1256203004 Cr-Commit-Position: refs/heads/master@{#29991}
-