- 15 Sep, 2015 1 commit
-
-
mvstanton authored
(reason for revert/reland: patch incorrectly left --vector-stores flag on, helpfully revealing some gcstress issues to look at, but they don't need to block this CL). Some pretty hacky code was used to carry out the tail-call handler dispatch on ia32 vector stores due to a lack of free registers. It really tanks performance. A better approach is to use a virtual register on the isolate. BUG= TBR=jkummerow@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/1346573002 Cr-Commit-Position: refs/heads/master@{#30737}
-
- 14 Sep, 2015 2 commits
-
-
machenbach authored
Revert of VectorICs: ia32 store ics need a virtual register. (patchset #3 id:40001 of https://codereview.chromium.org/1336313002/ ) Reason for revert: [Sheriff] Breaks GC stress on mac: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/2536 Original issue's description: > VectorICs: ia32 store ics need a virtual register. > > Some pretty hacky code was used to carry out the tail-call > handler dispatch on ia32 vector stores due to a lack > of free registers. It really tanks performance. A better > approach is to use a virtual register on the isolate. > > BUG= > > Committed: https://crrev.com/b26e98f19b5e77df50cb4a259f099ee6afa335e3 > Cr-Commit-Position: refs/heads/master@{#30718} TBR=jkummerow@chromium.org,vogelheim@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1340123002 Cr-Commit-Position: refs/heads/master@{#30719}
-
mvstanton authored
Some pretty hacky code was used to carry out the tail-call handler dispatch on ia32 vector stores due to a lack of free registers. It really tanks performance. A better approach is to use a virtual register on the isolate. BUG= Review URL: https://codereview.chromium.org/1336313002 Cr-Commit-Position: refs/heads/master@{#30718}
-
- 01 Sep, 2015 1 commit
-
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "isolate.h" or "contexts.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1322883002 Cr-Commit-Position: refs/heads/master@{#30500}
-
- 27 Aug, 2015 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1316943002 Cr-Commit-Position: refs/heads/master@{#30402}
-
- 24 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1310253002 Cr-Commit-Position: refs/heads/master@{#30333}
-
- 21 Aug, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1309673003 Cr-Commit-Position: refs/heads/master@{#30305}
-
- 17 Aug, 2015 1 commit
-
-
hpayer authored
This debug check is not needed anymore. This reverts commit ce311ed0. BUG= Review URL: https://codereview.chromium.org/1300663002 Cr-Commit-Position: refs/heads/master@{#30205}
-
- 13 Aug, 2015 2 commits
-
-
mstarzinger authored
This tries to remove includes of "-inl.h" headers from normal ".h" headers, thereby reducing the chance of any cyclic dependencies and decreasing the average size of our compilation units. Note that this change still leaves 5 violations of that rule in the code. It only tackles "node.h" including "types-inl.h". R=titzer@chromium.org Review URL: https://codereview.chromium.org/1288053004 Cr-Commit-Position: refs/heads/master@{#30161}
-
yangguo authored
Review URL: https://codereview.chromium.org/1285163003 Cr-Commit-Position: refs/heads/master@{#30144}
-
- 12 Aug, 2015 1 commit
-
-
mstarzinger authored
This tries to remove includes of "-inl.h" headers from normal ".h" headers, thereby reducing the chance of any cyclic dependencies and decreasing the average size of our compilation units. Note that this change still leaves 7 violations of that rule in the code. However there now is the "tools/check-inline-includes.sh" tool detecting such violations. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1283033003 Cr-Commit-Position: refs/heads/master@{#30125}
-
- 11 Aug, 2015 1 commit
-
-
yangguo authored
This avoids many back-and-forth calls to the runtime. This also slightly changes the way we avoid getters. Previously, we circumvent getting the name property of ReferenceError, SyntaxError and TypeError due to crbug/69187 (in order to avoid leaking information from those errors through a 'name' getter installed on their prototypes). Now we do that for all errors created by V8. R=jkummerow@chromium.org, rossberg@chromium.org BUG=crbug:513472, crbug:69187 LOG=N Review URL: https://codereview.chromium.org/1281833002 Cr-Commit-Position: refs/heads/master@{#30105}
-
- 10 Aug, 2015 1 commit
-
-
rmcilroy authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1269683002 Cr-Commit-Position: refs/heads/master@{#30087}
-
- 05 Aug, 2015 4 commits
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1269343002 Cr-Commit-Position: refs/heads/master@{#30031}
-
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}
-
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}
-
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}
-
- 04 Aug, 2015 3 commits
-
-
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}
-
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}
-
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}
-
- 30 Jul, 2015 1 commit
-
-
ulan authored
BUG=chromium:490559 LOG=NO Review URL: https://codereview.chromium.org/1258923010 Cr-Commit-Position: refs/heads/master@{#29935}
-
- 23 Jul, 2015 1 commit
-
-
rmcilroy authored
Adds basic support for generation of interpreter bytecode handler code snippets. The InterpreterAssembler class exposes a set of low level, interpreter specific operations which can be used to build a Turbofan graph. The Interpreter class generates a bytecode handler snippet for each bytecode by assembling operations using an InterpreterAssembler. Currently only two simple bytecodes are supported: LoadLiteral0 and Return. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1239793002 Cr-Commit-Position: refs/heads/master@{#29814}
-
- 20 Jul, 2015 1 commit
-
-
epertoso authored
R=jochen@chromium.org BUG=511204 LOG=y Review URL: https://codereview.chromium.org/1246603002 Cr-Commit-Position: refs/heads/master@{#29759}
-
- 17 Jul, 2015 1 commit
-
-
binji authored
BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1208933006 Cr-Commit-Position: refs/heads/master@{#29736}
-
- 24 Jun, 2015 2 commits
-
-
ishell authored
Review URL: https://codereview.chromium.org/1203873005 Cr-Commit-Position: refs/heads/master@{#29256}
-
danno authored
- Thread Type::FunctionType through stubs and the TF pipeline. - Augment Typer to decorate parameter nodes with types from a Type::FunctionType associated with interface descriptors. - Factor interface descriptors into platform-specific and platform-independent components so that all descriptors share a common Type::FunctionType for all platforms. Review URL: https://codereview.chromium.org/1197703002 Cr-Commit-Position: refs/heads/master@{#29248}
-
- 08 Jun, 2015 1 commit
-
-
conradw authored
Boolean "is_strong" parameters have begun to proliferate across areas where strong mode semantics are different. This CL repurposes the existing ObjectStrength enum as a replacement for them. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1144183004 Cr-Commit-Position: refs/heads/master@{#28839}
-
- 02 Jun, 2015 1 commit
-
-
conradw authored
Copied, with permission, from https://codereview.chromium.org/1151853003/ Initial patch set is an unmodified copy, rebased on top of related fixes from https://codereview.chromium.org/1158933002/ Subsequent patch sets contain fixes for remaining bugs in the CL. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1152093003 Cr-Commit-Position: refs/heads/master@{#28760}
-
- 26 May, 2015 1 commit
-
-
erikcorry authored
* Hash code is now just done with a private own symbol instead of the hidden string, which predates symbols. * In the long run we should do all hidden properties this way and get rid of the hidden magic 0-length string with the zero hash code. The advantages include less complexity and being able to do things from JS in a natural way. * Initially, the performance of weak set regressed, because it's a little harder to do the lookup in C++. Instead of heroics in C++ to make things faster I moved some functionality into JS and got the performance back. JS is supposed to be good at looking up named properties on objects. * This also changes hash codes of Smis so that they are always Smis. Performance figures are in the comments to the code review. Summary: Most of js-perf-test/Collections is neutral. Set and Map with object keys are 40-50% better. WeakMap is -5% and WeakSet is +9%. After the measurements, I fixed global proxies, which cost 1% on most tests and 5% on the weak ones :-(. In the code review comments is a patch with an example of the heroics we could do in C++ to make lookup faster (I hope we don't have to do this. Instead of checking for the property, then doing a new lookup to insert it, we could do one lookup and handle the addition immediately). With the current benchmarks above this buys us nothing, but if we go back to doing more lookups in C++ instead of in stubs and JS then it's a win. In a similar vein we could give the magic zero hash code to the hash code symbol. Then when we look up the hash code we would sometimes see the table with all the hidden properties. This dual use of the field for either the hash code or the table with all hidden properties and the hash code is rather ugly, and this CL gets rid of it. I'd be loath to bring it back. On the benchmarks quoted above it's slightly slower than moving the hash code lookup to JS like in this CL. One worry is that the benchmark results above are more monomorphic than real world code, so may be overstating the performance benefits of moving to JS. I think this is part of a general issue we have with handling polymorphic code in JS and any solutions there will benefit this solution, which boils down to regular property access. Any improvement there will lift all boats. R=adamk@chromium.org, verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1149863005 Cr-Commit-Position: refs/heads/master@{#28622}
-
- 22 May, 2015 1 commit
-
-
yangguo authored
We want to use the conservative growth strategy during - isolate initialization - bootstrapping a context But not when - not creating a snapshot - running additional code for custom snapshot. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1155823003 Cr-Commit-Position: refs/heads/master@{#28586}
-
- 19 May, 2015 1 commit
-
-
svenpanne authored
Review URL: https://codereview.chromium.org/1142043003 Cr-Commit-Position: refs/heads/master@{#28462}
-
- 12 May, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1138493004 Cr-Commit-Position: refs/heads/master@{#28373}
-
- 04 May, 2015 1 commit
-
-
jarin authored
BUG=v8:3985 LOG=n R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1122083002 Cr-Commit-Position: refs/heads/master@{#28206}
-
- 30 Apr, 2015 3 commits
-
-
machenbach authored
Revert of Wrap v8natives.js into a function. (patchset #2 id:20001 of https://codereview.chromium.org/1109343004/) Reason for revert: [Sheriff] Speculative revert for breaking layout tests, e.g.: http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/2682 See. e.g.: https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/3130/layout-test-results/http/tests/websocket/workers/worker-reload-diff.txt Original issue's description: > Wrap v8natives.js into a function. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/ee1b39b4303829e6c6805fe8b2f2602b13f6463a > Cr-Commit-Position: refs/heads/master@{#28174} TBR=jkummerow@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1121453003 Cr-Commit-Position: refs/heads/master@{#28182}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1109343004 Cr-Commit-Position: refs/heads/master@{#28174}
-
ulan authored
BUG= Review URL: https://codereview.chromium.org/1104353003 Cr-Commit-Position: refs/heads/master@{#28161}
-
- 29 Apr, 2015 1 commit
-
-
jochen authored
We shouldn't have shared state between isolates by default. The embedder is free to pass the same allocator to all isolates it creates. BUG=none R=dcarney@chromium.org LOG=y Review URL: https://codereview.chromium.org/1116633002 Cr-Commit-Position: refs/heads/master@{#28127}
-
- 27 Apr, 2015 1 commit
-
-
mvstanton authored
If the array's map is the initial FastHoley array map, and the array prototype chain is undisturbed and empty of elements, then keyed loads can convert the load of a hole to undefined. BUG= Review URL: https://codereview.chromium.org/1100083002 Cr-Commit-Position: refs/heads/master@{#28056}
-
- 23 Apr, 2015 1 commit
-
-
mvstanton authored
If the length of the array prototype is changed, be sure to turn off the guarantee that it's elements are empty. This case was missed in https://codereview.chromium.org/1092043002 ("Protect the emptiness of Array prototype elements with a PropertyCell") R=jkummerow@chromium.org BUG=479781 LOG=N Review URL: https://codereview.chromium.org/1099453007 Cr-Commit-Position: refs/heads/master@{#28033}
-
- 22 Apr, 2015 1 commit
-
-
machenbach authored
Revert of Revert of Protect the emptiness of Array prototype elements with a PropertyCell. (patchset #1 id:1 of https://codereview.chromium.org/1099203004/) Reason for revert: This was probably an infrastructure problem caused by the mac ninja/goma switch. Original issue's description: > Revert of Protect the emptiness of Array prototype elements with a PropertyCell. (patchset #7 id:120001 of https://codereview.chromium.org/1092043002/) > > Reason for revert: > MAC GCSTRESS failure on new test. > > Original issue's description: > > Protect the emptiness of Array prototype elements with a PropertyCell. > > > > Not just emptiness, but also a particular structure. > > > > BUG=v8:4044 > > LOG=N > > TBR=jkummerow@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4044 TBR=jkummerow@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4044 Review URL: https://codereview.chromium.org/1052253003 Cr-Commit-Position: refs/heads/master@{#28000}
-