- 29 Jan, 2018 5 commits
-
-
Leszek Swirski authored
Wide suspends have a "wide" (or "extra-wide") bytecode at their offset, rather than the suspend itself, so they were failing the return check. Bug: chromium:805765 Change-Id: Iabfc2a2167d09eda2f6885d9100287aadcd8fee9 Reviewed-on: https://chromium-review.googlesource.com/887082Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#50923}
-
Leszek Swirski authored
Bug: chromium:806200 Change-Id: If76a8cb5b988321d38d170dfba7c1fc5354e2667 Reviewed-on: https://chromium-review.googlesource.com/888922Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#50922}
-
Daniel Clifford authored
There is currently no test that shows this bug (it was found as part of the DSL experiment), but it should get fixed anyway and it will eventually be verified by the A.p.splice CSA builtin port that is in progress. Change-Id: I9b6da8dc8f3151ad0b0a06c3ca10d604060efef7 Reviewed-on: https://chromium-review.googlesource.com/890580Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#50921}
-
Daniel Clifford authored
This makes the ArrayBuiltinsAssembler consistent with the StringBuiltinsAssembler and paves the way for tools that expect the assemblers to have a common structure. Change-Id: I7470fc2cf144f9cc2fdbcee99b31daed267550be Reviewed-on: https://chromium-review.googlesource.com/889933Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#50920}
-
Jaroslav Sevcik authored
Bug: v8:5267 Change-Id: I649554733fdbd00c8e82b09aca35b0ff1f823560 Reviewed-on: https://chromium-review.googlesource.com/890262Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50919}
-
- 26 Jan, 2018 22 commits
-
-
Sathya Gunasekaran authored
import() is shipping by default in Chrome 63 and import.meta is shipping in Chrome 64 already. The flag still exists so that embedders can turn off the feature if required. Bug: v8:5785, v8:6693 Change-Id: Ie6c8f90927958022900f677ea5a771527111aece Reviewed-on: https://chromium-review.googlesource.com/889658 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50913}
-
Jakob Kummerow authored
Bug: v8:7369 Change-Id: I35b69295a4f9ffab0d5d0501f2f0252dee1a48a3 Reviewed-on: https://chromium-review.googlesource.com/887428 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50911}
-
Ali Ijaz Sheikh authored
These assertions would have caught the bug closer to the source. BUG=v8:7313 Change-Id: I19b75c3fc7bff8216dda370114ff00326f128116 Reviewed-on: https://chromium-review.googlesource.com/887175Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#50910}
-
Ali Ijaz Sheikh authored
Don't start new steps recursively if a step is already in progress. Having this property on a space is not sufficient, as an allocation is a global (heap-wide) event. Computing the next step size, for example is a property of all observers in existence rather than the spaces in existence. In this case a failure was due to the fact that we attempted to compute the next step size while a given observer was mid-way through its step triggered from a different space. bytes_to_next_step_ was partially updated at that point. BUG=v8:7313 Change-Id: Iaf632fce2cfd5ed49b0f41a69c3694e505e17d81 Reviewed-on: https://chromium-review.googlesource.com/887174 Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#50909}
-
Clemens Hammacher authored
This ensures that i32 values which are loaded into 64 bit registers have the upper 32 bits cleared. R=titzer@chromium.org Bug: v8:6600 Change-Id: I5eb2b65ac079b5683c83d755b1aa4a626411d5d4 Reviewed-on: https://chromium-review.googlesource.com/888702Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50907}
-
Georgia Kouveli authored
Use a sequence of move instructions instead. Bug: Change-Id: I63a45ce7baaa9ebcba0d3e86910839e2ddedecd5 Reviewed-on: https://chromium-review.googlesource.com/888561Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com> Cr-Commit-Position: refs/heads/master@{#50906}
-
Sigurd Schneider authored
This CL uses UTF16 encoding internally in the string iterator, thereby saving a few shifts, ors, and ands. Bug: v8:7270 Change-Id: I3ac9e0e8c4b64eb1d6c796597eb0b3413c5f516b Reviewed-on: https://chromium-review.googlesource.com/887085Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50904}
-
Ivica Bogosavljevic authored
Port 1abeb5a3 Change-Id: Ib31abb7e5e920b319d0e485bf5bcc29fdc018bbc Bug: chromium:806078 Reviewed-on: https://chromium-review.googlesource.com/888744Reviewed-by:
Miran Karić <miran.karic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50902}
-
Ross McIlroy authored
Refactors bytecode register access to avoid having to deal with register indexes directly. - Changes Load/StoreRegister to Load/StoreRegisterAtOperandIndex - Adds RegisterList abstraction for dealin with lists of registers - Adds helpers for Loading / Storing register pairs / triples. Change-Id: I34427e4bd7314dce0230572212580d6a93ccc2d4 Reviewed-on: https://chromium-review.googlesource.com/887062Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50899}
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:6409 Change-Id: I7d9d6a2d1f000ff4ef3bb543bc2fe8705ff21363 Reviewed-on: https://chromium-review.googlesource.com/889098Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50898}
-
Ulan Degenbaev authored
Bug: chromium:802300 Change-Id: I187f72eda80ae7d6a705361bdd36e79196f51293 Reviewed-on: https://chromium-review.googlesource.com/888743 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50897}
-
Ulan Degenbaev authored
Passing --trace_duplicate_threshold_kb=XX will print stats about duplicates on the heap in Heap::CollectAllAvailableGarbage function. One way to trigger the tracing is to force GC in DevTools. Change-Id: I535ae202c796c3dcf7262a0d0bfd2702f44ac27a Reviewed-on: https://chromium-review.googlesource.com/888746Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#50896}
-
Michael Lippautz authored
Bug: v8:7266 Change-Id: I2193d762d0f59b061be79bb3bbd280520728185a Reviewed-on: https://chromium-review.googlesource.com/888622Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#50893}
-
Yang Guo authored
This file is no longer used by our Node.js branch, as it has been updated to use gypfiles/v8.gyp. R=machenbach@chromium.org Bug: v8:7335 Change-Id: I6fe67b0839f2d7f4e2ec2df70f6cd88f25af7d92 Reviewed-on: https://chromium-review.googlesource.com/888745Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50891}
-
Igor Sheludko authored
Do not overwrite handle values in AddNamedProperty which could cause invalid handles in combination with CanonicalHandleScope. Bug: chromium:802333 Change-Id: I373ab60579901bba65336ae3814e466e07392e22 Reviewed-on: https://chromium-review.googlesource.com/873032Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#50890}
-
Sigurd Schneider authored
With the new builtin optimization guard we can just speculatively assume that the index passed to String#charAt and String#charCodeAt (in optimized code) is going to be within the valid range for the receiver. This is what Crankshaft used to do, and it avoids Smi checks on the result for String#charCodeAt, since it can no longer return NaN. This gives rise to further optimizations of these builtins (i.e. to completely avoid the tagging of char codes), and by itself already improves the regression test originally reported from 650ms to 610ms. Bug: v8:7127, v8:7326 Change-Id: I6c160540a1e002a37e44fa7f920e5e8f8c2c4210 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/873382 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50888}
-
Sigurd Schneider authored
This fixes %StringIteratorPrototype%.next to not mixup UTF16 and UTF32, and consistently use UTF32 for now. Bug: chromium:805855 Change-Id: If58e2fe0d9bebd894e12abf8af82881c74388294 Reviewed-on: https://chromium-review.googlesource.com/888741 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50886}
-
Georg Neis authored
This is a reland of 181ac2b0 that fixes the issue with load elimination. Original change's description: > [ic] Improve performance of KeyedStoreIC on literal-based arrays. > > In mode STORE_AND_GROW_NO_TRANSITION, the handler for elements stores > used to bail out when seeing a COW array, even if the store that > installed the handler had been operating on the very same array. > > This CL adds support for COW arrays to the mode (and renames it to > STORE_AND_GROW_NO_TRANSITION_HANDLE_COW). > > Bug: v8:7334 > Change-Id: I6a15e8c1ff8d4ad4d5b8fc447745dce5d146c67c > Reviewed-on: https://chromium-review.googlesource.com/876014 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50840} TBR=bmeurer@chromium.org Bug: v8:7334, chromium:805768 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I3d9c1b08583e08d68a1d30242a25e4a2190c8c55 Reviewed-on: https://chromium-review.googlesource.com/886261 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50885}
-
Clemens Hammacher authored
This adds support for the rest of the i32 comparisons. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ic613c59d17140b1e5c72fb58c4a8487ae13b6ae6 Reviewed-on: https://chromium-review.googlesource.com/887022Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50881}
-
Choongwoo Han authored
Replace conversions of relative indices in builtin-string-gen.cc with ConvertToRelativeIndex which is defined in code-stub-assembler.cc. Change-Id: I790d58d296ccb482d3f96a62ec64227b1c2ce2c0 Reviewed-on: https://chromium-review.googlesource.com/883701Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50880}
-
Jakob Kummerow authored
which was dropped from the proposal: https://github.com/tc39/proposal-bigint/pull/101 Bug: v8:6791 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I5a3e0024900b34a322a23bcbc4bfdbdffbf8b9d4 Reviewed-on: https://chromium-review.googlesource.com/885510 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50877}
-
jing.bao authored
Change-Id: I7dd81c104da3296cb78688c066b24e12b8ffc6c2 Reviewed-on: https://chromium-review.googlesource.com/882952 Commit-Queue: Jing Bao <jing.bao@intel.com> Reviewed-by:
Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#50876}
-
- 25 Jan, 2018 10 commits
-
-
Deepti Gandluri authored
- Shift opcode numbers for asmjs-compat opcodes - Add --experimental-wasm-se flag to gate sign extension opccodes - Fix codegen for ia32 movsx instructions Bug: v8:6532 Change-Id: If7c9eff5ac76d24496effb2314ae2601bb8bba85 Reviewed-on: https://chromium-review.googlesource.com/838403 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50875}
-
Sigurd Schneider authored
For M65 I added a fast-path for String.p.charCodeAt, which behaves incorrectly for wide characters. This patch disables the incorrect fast-path. This is likely no performance regression against M64, as M64 did not have a fast path for String.p.charCodeAt. Bug: v8:7371 Change-Id: I8ea9c5da5a583138d87ccb8ffe6d61eba16630b9 Reviewed-on: https://chromium-review.googlesource.com/886782 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50873}
-
Yang Guo authored
This is somewhat of a revival of what used to be UnseededNumberDictionary. The difference to NumberDictionary is that each entry only has two fields (no field for property details) and there is no header field for a bitfield. The reason for this change is memory regression introduced when we removed UnseededNumberDictionary (6e1c57ea). We now use SimpleNumberDictionary for - slow template instantiation cache - code stubs table - value serializer map - stack frame cache - type profile source positions R=ishell@chromium.org, ulan@chromium.org Bug: chromium:783695 Change-Id: I3cd32e485060bb379fb2279eeefbbbded7455f0e Reviewed-on: https://chromium-review.googlesource.com/885811Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50869}
-
Clemens Hammacher authored
Also refactor the implementation of i32.eqz such that the same platform-specific code can be reused. As a next step, it should be straight-forward to add other i32 comparison operations. R=titzer@chromium.org Bug: v8:6600 Change-Id: I4e8768d4ceb7294ba35777b7777ddd69d1a58cf1 Reviewed-on: https://chromium-review.googlesource.com/877889 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50868}
-
peterwmwong authored
- Introduce new helper IsFastJSArrayWithNoCustomIteration. - Consolidates all entry array checks... - Is a fast array (defers to BranchIfFastJSArray) - No possibility that the Array's iteration protocol has been tampered with - Introduce new BoolT constant helpers Int32TrueConstant and Int32FalseConstant. Bug: chromium:804176, chromium:804188 Change-Id: I6b08396484682dc680b431ea564a7a28eeab8108 Reviewed-on: https://chromium-review.googlesource.com/883065 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50867}
-
Sigurd Schneider authored
Array.p.reduce[Right] did not correctly treat holey arrays when dealing with mixed holey/non-holey receiver maps. Bug: chromium:804956 Change-Id: Ic22f64a1beeb93005809948299cde1f1d21a0f19 Reviewed-on: https://chromium-review.googlesource.com/883241Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#50864}
-
Clemens Hammacher authored
We cannot handle i64 values yet, so bail out if an indirect call returns i64. The same bailout already exists for direct calls. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I3ddf44a913ee79b5610862e3a93059c6d37a280c Reviewed-on: https://chromium-review.googlesource.com/885813Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50862}
-
Georg Neis authored
Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0ecc0af1668f5036bb591e8236d9a28fba61cea5 Reviewed-on: https://chromium-review.googlesource.com/881782 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50861}
-
Georg Neis authored
This reverts commit 181ac2b0. Reason for revert: TF changes break load elimination. Original change's description: > [ic] Improve performance of KeyedStoreIC on literal-based arrays. > > In mode STORE_AND_GROW_NO_TRANSITION, the handler for elements stores > used to bail out when seeing a COW array, even if the store that > installed the handler had been operating on the very same array. > > This CL adds support for COW arrays to the mode (and renames it to > STORE_AND_GROW_NO_TRANSITION_HANDLE_COW). > > Bug: v8:7334 > Change-Id: I6a15e8c1ff8d4ad4d5b8fc447745dce5d146c67c > Reviewed-on: https://chromium-review.googlesource.com/876014 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50840} TBR=neis@chromium.org,ishell@chromium.org,bmeurer@chromium.org Change-Id: Id841d91b12d199045e0a9c4ddae2c2ead20b5e21 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7334 Reviewed-on: https://chromium-review.googlesource.com/885814Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50860}
-
Deepti Gandluri authored
Bug: v8:6020 Change-Id: I056eb376bddfefad9f509808a6c71f5ce1769402 Reviewed-on: https://chromium-review.googlesource.com/877327 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by:
Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50857}
-
- 24 Jan, 2018 3 commits
-
-
Benedikt Meurer authored
Refactor the PromiseHandle builtin and move the separate debug checks into the PromiseHookBefore and PromiseHookAfter runtime calls, so they are performed only when we've already hit the slow-path. Bug: v8:7253 Change-Id: I01ab8592a474b6897280734b995cab0b90a5e010 Reviewed-on: https://chromium-review.googlesource.com/884583Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50856}
-
Ali Ijaz Sheikh authored
Do not start a new step when an existing step is in progress. We may have partially updated information as part of the current step, and the next step will assume consistency. A new step will be started once the current in-progress step completes. BUG=v8:7313 Change-Id: I4c0c47c4f4b5f8b9139be24408440189679b38dc Reviewed-on: https://chromium-review.googlesource.com/882507Reviewed-by:
Ali Ijaz Sheikh <ofrobots@google.com> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#50855}
-
Clemens Hammacher authored
When moving arguments for calls into the right registers and stack slots, we were sometimes overwriting stack slots which would still be used later to load arguments from. This is because we popped the (wasm) value stack before executing the register moves, hence the stack transfer would think the values are not being used any more and reuse the stack slots. With this CL, we only pop the arguments from the stack after executing the stack transfer. R=ahaas@chromium.org Bug: v8:7366, v8:6600 Change-Id: I3aa5126c82634fd281959075e91e73465c39abaa Reviewed-on: https://chromium-review.googlesource.com/883802 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50853}
-