- 16 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
After moving to its own header, this CL cleans up some parts of the interface. It fixes names and const-declarations of simple accessors, and adds a named constructor to make it explicit that an EnumSet should be constructed from an integral value. Also refactor the use in cctest.h to have less statically declared constants. Instead, just create the set of extensions in the individual tests. R=titzer@chromium.org Bug: v8:8562 Change-Id: I6178d1aba25afa1d7f54c29ccf81505c165e7cd3 Reviewed-on: https://chromium-review.googlesource.com/c/1409366 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58862}
-
- 15 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
EnumSet currently lives in src/utils.h, which is a conglomerate of many different helper functions and classes. In order to remove unneeded include, move the EnumSet to its own header. R=titzer@chromium.org Bug: v8:7490, v8:8562 Change-Id: I979814167e87b914e9807b03e342d8b34e514331 Reviewed-on: https://chromium-review.googlesource.com/c/1409430 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58818}
-
- 10 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
Mostly signed integer overflows, and a few cases of double division by zero (which is defined by IEEE-754 to return Infinity (or NaN for 0/0) but is UB in C++). Bug: v8:3770 Change-Id: Id92725b0ac57cb357978124a3dc6f477430bc97d Reviewed-on: https://chromium-review.googlesource.com/c/1403133 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58696}
-
- 09 Jan, 2019 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/asm/regress-920076 BUG=chromium:920076 Change-Id: Ieb6d1dd84ab9434ff17ee09444e7d8ce830f898c Reviewed-on: https://chromium-review.googlesource.com/c/1402778Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58664}
-
- 07 Jan, 2019 1 commit
-
-
Jakob Kummerow authored
The AsmType class uses a design similar to the old Object* model, where arbitrary values (including 0) are reinterpret_cast to pointers. This yields the following UBSan error, among others: src/asmjs/asm-parser.cc:2000:51: runtime error: member call on null pointer of type 'v8::internal::wasm::AsmType' This patch does the smallest possible fix by turning the affected methods into static functions. Longer-term, we should consider switching the overall class design to a "struct wrapping an Address" model like the new Object definition, which is a bit non-trivial because some AsmType types are ZoneObject subclasses. Bug: v8:3770 Change-Id: Ie2a7cdc9eab32c4c469d699212c84b0419480b4f Reviewed-on: https://chromium-review.googlesource.com/c/1397663Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58586}
-
- 03 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Templates are nicer than macros, and in this case it's not more complex. R=tebbi@chromium.org Bug: v8:8562 Change-Id: I3aea7b4138f144166418c0827dd7c58ea459c670 Reviewed-on: https://chromium-review.googlesource.com/c/1392200Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58518}
-
- 17 Dec, 2018 1 commit
-
-
Jakob Kummerow authored
Along with HeapNumberBase and MutableHeapNumber, of course. Bug: v8:5402 Change-Id: I14a7f8052de3839cad36bb7e4ebb6da38b2ac096 Reviewed-on: https://chromium-review.googlesource.com/c/1379884 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58293}
-
- 12 Dec, 2018 1 commit
-
-
Michael Starzinger authored
This makes sure we properly recognize a newline character as part of semicolon insertion, even if the newline appears after a CPP-style single line comment. The same applies for newlines within C-style multi line comments. R=clemensh@chromium.org TEST=mjsunit/asm/regress-913822 BUG=chromium:913822 Change-Id: I64f098d7e386dea7b7fb6c233c1625425e36bde0 Reviewed-on: https://chromium-review.googlesource.com/c/1373551Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58189}
-
- 28 Nov, 2018 1 commit
-
-
Jakob Kummerow authored
Bug: v8:3770 Change-Id: If405611d359d29ae1958beebd9202e068434a621 Reviewed-on: https://chromium-review.googlesource.com/c/1350286 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57918}
-
- 26 Nov, 2018 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I325b10268a9ed9548fd28ecc3e5e2b0959afcdc4 Reviewed-on: https://chromium-review.googlesource.com/c/1350125Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57819}
-
- 21 Nov, 2018 1 commit
-
-
Ross McIlroy authored
Moves allocation of the WasmModuleObject for asm.js code out of SyncCompileTranslatedAsmJS since that is called when we are compiling the native context independent SharedFunctionInfo and the WasmModuleObject requires a native context. Instead save the members required to create the object in the AsmWasmData and create it during module instantiation. Note: since the Wasm module is an implementation detail for asm_wasm code and isn't exposed, this doeesn't have semantic change for asm.js code. As part of this change, the AsmWasmData is changed from a FixedArray to a dedicated struct. Some logic is also moved from module-compiler to wasm-engine to make the seperation between Wasm SyncCompile and AsmJS SyncCompile more clear. BUG=chromium:900535,v8:8395 Change-Id: Ia48469c095b0688f210aa86e7430c9ab4ea4b26b Reviewed-on: https://chromium-review.googlesource.com/c/1345509 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57704}
-
- 15 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
We often need to create a {Vector} view of data owned by a container like {std::vector}. The canonical way to do this is this: Vector<T>{vec.data(), vec.size()} This pattern is repeating information which can be deduced automatically, like the type T. This CL introduces a {VectorOf} helper which can construct a {Vector} for any container providing a {data()} and {size()} accessor, and uses it to replace the pattern above. R=ishell@chromium.org Bug: v8:8238 Change-Id: Ib3a11662acc82cb83f2b4afd07ba88e579d71dba Reviewed-on: https://chromium-review.googlesource.com/c/1337584Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57538}
-
- 14 Nov, 2018 1 commit
-
-
Leszek Swirski authored
Moves the unicode predicate cache tables out of the unicode cache, and turns them into generic predicates in char-predicates.h which use static constexpr tables. This drops the per-isolate cost of unicode caches, and removes the need for accessing the unicode cache from most files. It does remove the mutability of the cache, which means that there may be regressions when parsing non-ASCII identifiers. Most likely the benefits to ASCII identifiers/keywords will outweigh any non-ASCII costs. Change-Id: I9a7a8b7c9b22d3e9ede824ab4e27f133ce20a399 Reviewed-on: https://chromium-review.googlesource.com/c/1335564Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#57506}
-
- 13 Nov, 2018 1 commit
-
-
Marja Hölttä authored
This reduces the build steps after touching counters.h from 710 to 191, thus detaching counters.h from the giant include cluster. BUG=v8:7490,v8:8238 Change-Id: I0c7e707fb945e293f8a5604cc8da438cd35b3210 Reviewed-on: https://chromium-review.googlesource.com/c/1329695 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57468}
-
- 30 Oct, 2018 1 commit
-
-
Clemens Hammacher authored
For memory limit checks, we should use the minimum of the --wasm-max-mem-pages flag and kV8MaxWasmMemoryPages. The former is a limit set by the user, the latter is the maximum we can handle internally. R=titzer@chromium.org Bug: chromium:898677 Change-Id: I3c549f4e90dd016b5d07475d9353f30134f76dcc Reviewed-on: https://chromium-review.googlesource.com/c/1305274 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57127}
-
- 29 Oct, 2018 1 commit
-
-
Michael Starzinger authored
This fixes the fall-back case when parsing a multiplicative expression where the lookahead found a '-' token followed by an unsigned token, but no '*' token is following. We cannot rewind both tokens, but still need to make sure that a full multiplicative expression is parsed. R=clemensh@chromium.org TEST=mjsunit/regress/regress-8377 BUG=v8:8377 Change-Id: I20ce6267445b32bdaf03f41f11d9ef4be66cb636 Reviewed-on: https://chromium-review.googlesource.com/c/1304317Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57084}
-
- 26 Oct, 2018 1 commit
-
-
Michael Starzinger authored
The valid store types of a {Float64Array} heap view are specified to be "float?" and "double?". We correctly accepted both types but forgot to emit the appropriate conversion in the "float?" case. This just adds the missing conversion expression. R=clemensh@chromium.org TEST=mjsunit/regress/regress-crbug-898974 BUG=chromium:898974,v8:8347 Change-Id: I306b10e2088185b1522da29b1a113908ef9925f2 Reviewed-on: https://chromium-review.googlesource.com/c/1301499 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57025}
-
- 15 Oct, 2018 1 commit
-
-
Adam Klein authored
Change-Id: I982f3615136c7a4ba18e4a6d2cc06a3e24e22f54 Reviewed-on: https://chromium-review.googlesource.com/c/1277722Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#56645}
-
- 11 Oct, 2018 1 commit
-
-
Jakob Kummerow authored
The primary purpose of this is to untangle a circular dependency objects.h -> handles.h -> objects.h. Most compilation units only need message-template.h, without the rest of messages.h. Bonus: change the enum to an enum class for improved type safety. Bug: v8:3770 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I8102c55197a450811de2588a68a08e7f99ea6b9e Reviewed-on: https://chromium-review.googlesource.com/c/1272193 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#56583}
-
- 13 Sep, 2018 1 commit
-
-
Benedikt Meurer authored
Previously the [[ArrayBufferByteLength]] internal field was represented as a boxed number (i.e. either Smi or HeapNumber) in safe integer range. This is the first step to change the representation of all the array buffer and array buffer view length/offset fields to unboxed integers, to eventually support the full range of 4GiB (and potentially even more) for typed arrays and array buffers. This will allow WebAssembly memories with 4GiB to be usable. Tbr: yangguo@chromium.org Bug: v8:7881, v8:8015, v8:8171 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic6c6c8fe087afee898254cd903e82a55bfc173a9 Reviewed-on: https://chromium-review.googlesource.com/1222309Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55877}
-
- 21 Aug, 2018 3 commits
-
-
Toon Verwaest authored
This reverts the following 3 CLs: Revert "[scanner] Templatize scan functions by encoding" Revert "[asm] Remove invalid static cast of character stream" Revert "[scanner] Prepare CharacterStreams for specializing scanner and parser by character type" The original idea behind this work was to avoid copying, converting and buffering characters to be scanned by specializing the scanner functions. The additional benefit was for scanner functions to have a bigger window over the input. Even though we can get a pretty nice speedup from having a larger window, in practice this rarely helps. The cost is a larger binary. Since we can't eagerly convert utf8 to utf16 due to memory overhead, we'd also need to have a specialized version of the scanner just for utf8. That's pretty complex, and likely won't be better than simply bulk converting and buffering utf8 as utf16. Change-Id: Ic3564683932a0097e3f9f51cd88f62c6ac879dcb Reviewed-on: https://chromium-review.googlesource.com/1183190Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#55258}
-
Ben L. Titzer authored
This is a reland of 5c309271 (the CL was reverted because of a Chromium test that is now fixed) Original change's description: > Reland "[asmjs] Properly validate asm.js heap sizes" > > This is a reland of 5d69010e > > Original change's description: > > [asmjs] Properly validate asm.js heap sizes > > > > Enforce both engine limitations and spec (http://asmjs.org/spec/latest/) > > limitations on the size of asm.js heaps. > > > > R=clemensh@chromium.org > > CC=mstarzinger@chromium.org > > > > Bug: chromium:873600 > > Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd > > Reviewed-on: https://chromium-review.googlesource.com/1174411 > > Commit-Queue: Ben Titzer <titzer@chromium.org> > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#55163} > > Bug: chromium:873600 > Change-Id: Id24070bda3aafb9e1a32af0732a1b18f633ef932 > Reviewed-on: https://chromium-review.googlesource.com/1179681 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55193} Bug: chromium:873600 Change-Id: I6eca2a89589070837b109278f964fc8e9a0fd6f1 Reviewed-on: https://chromium-review.googlesource.com/1183081Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55249}
-
Aseem Garg authored
This reverts commit 5c309271. Reason for revert: Broke fast/workers/worker-shared-asm-buffer.html Original change's description: > Reland "[asmjs] Properly validate asm.js heap sizes" > > This is a reland of 5d69010e > > Original change's description: > > [asmjs] Properly validate asm.js heap sizes > > > > Enforce both engine limitations and spec (http://asmjs.org/spec/latest/) > > limitations on the size of asm.js heaps. > > > > R=clemensh@chromium.org > > CC=mstarzinger@chromium.org > > > > Bug: chromium:873600 > > Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd > > Reviewed-on: https://chromium-review.googlesource.com/1174411 > > Commit-Queue: Ben Titzer <titzer@chromium.org> > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#55163} > > Bug: chromium:873600 > Change-Id: Id24070bda3aafb9e1a32af0732a1b18f633ef932 > Reviewed-on: https://chromium-review.googlesource.com/1179681 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55193} TBR=mstarzinger@chromium.org,titzer@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:873600 Change-Id: I5845c584c7ac399b9b7939f5fd50c09b7b2cc3d2 Reviewed-on: https://chromium-review.googlesource.com/1182616 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by:
Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#55242}
-
- 20 Aug, 2018 2 commits
-
-
Toon Verwaest authored
TBR=ahaas@chromium.org Change-Id: I862cae063d85703235ead073b0f23515721a409f Reviewed-on: https://chromium-review.googlesource.com/1181431 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#55226}
-
Toon Verwaest authored
This way we can avoid reencoding everything to utf16 (buffered) and avoid the overhead of needing to check the encoding for each character individually. This may result in a minor asm.js scanning regression due to one-byte tokens possibly being more common. Change-Id: I90b51c256d56d4f4fa2d235d7e1e58fc01e43f31 Reviewed-on: https://chromium-review.googlesource.com/1172437 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#55217}
-
- 17 Aug, 2018 1 commit
-
-
Ben L. Titzer authored
This is a reland of 5d69010e Original change's description: > [asmjs] Properly validate asm.js heap sizes > > Enforce both engine limitations and spec (http://asmjs.org/spec/latest/) > limitations on the size of asm.js heaps. > > R=clemensh@chromium.org > CC=mstarzinger@chromium.org > > Bug: chromium:873600 > Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd > Reviewed-on: https://chromium-review.googlesource.com/1174411 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55163} Bug: chromium:873600 Change-Id: Id24070bda3aafb9e1a32af0732a1b18f633ef932 Reviewed-on: https://chromium-review.googlesource.com/1179681 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55193}
-
- 16 Aug, 2018 2 commits
-
-
Leszek Swirski authored
This reverts commit 5d69010e. Reason for revert: New test fails on ARM GC stress bot - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm%20GC%20Stress/8054 Original change's description: > [asmjs] Properly validate asm.js heap sizes > > Enforce both engine limitations and spec (http://asmjs.org/spec/latest/) > limitations on the size of asm.js heaps. > > R=clemensh@chromium.org > CC=mstarzinger@chromium.org > > Bug: chromium:873600 > Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd > Reviewed-on: https://chromium-review.googlesource.com/1174411 > Commit-Queue: Ben Titzer <titzer@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55163} TBR=mstarzinger@chromium.org,titzer@chromium.org,clemensh@chromium.org Change-Id: I95ca5306a495bfc0f78d7a29f5d6269fc9c0bdfa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:873600 Reviewed-on: https://chromium-review.googlesource.com/1178141Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#55173}
-
Ben L. Titzer authored
Enforce both engine limitations and spec (http://asmjs.org/spec/latest/) limitations on the size of asm.js heaps. R=clemensh@chromium.org CC=mstarzinger@chromium.org Bug: chromium:873600 Change-Id: I104c23bbd0a9a7c494f97f8f9e83ac5a37496dfd Reviewed-on: https://chromium-review.googlesource.com/1174411 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55163}
-
- 07 Aug, 2018 1 commit
-
-
Michael Starzinger authored
R=sigurds@chromium.org Change-Id: I54df6ab72a3d6836be15d4a26b8a1615628eb872 Reviewed-on: https://chromium-review.googlesource.com/1163703Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54935}
-
- 01 Aug, 2018 1 commit
-
-
Toon Verwaest authored
This templatizes CharacterStream by char type, and makes them subclass ScannerStream. Methods that are widely used by tests are marked virtual on ScannerStream and final on CharacterStream<T> so the specialized scanner will know what to call. ParseInfo passes around ScannerStream, but the scanner requires the explicit CharacterStream<T>. Since AdvanceUntil is templatized by FunctionType, I couldn't mark that virtual; so instead I adjusted those tests to operate directly on ucs2 (not utf8 since we'll drop that in the future). In the end no functionality was changed. Some calls became virtual in tests. This is mainly just preparation. Change-Id: I0b4def65d3eb8fa5c806027c7e9123a590ebbdb5 Reviewed-on: https://chromium-review.googlesource.com/1156690 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54848}
-
- 17 Jul, 2018 1 commit
-
-
Dan Elphick authored
Ran GetIsolate/GetHeap removal script over all the header files included into objects.cc. Affected classes include: ScriptContextTable RuntimeCallTimerScope GlobalDictionaryShape Map LookupIterator PrototypeIterator FixedArrayBuilder Manually fixed up Map to mark its write operations as safe for GetIsolate since they modify the object as so can't be done in RO_SPACE. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2fd0960f085d1bcb4cf54b3418899ac0217917ca Reviewed-on: https://chromium-review.googlesource.com/1138076 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54488}
-
- 12 Jul, 2018 1 commit
-
-
Clemens Hammacher authored
An unordered_map typically provides better performance. Instead of a compare function, we now need a hash function and equality defined on {Signature<T>}. R=mstarzinger@chromium.org Bug: chromium:862123 Change-Id: Iba71030f91949d7453740c884de1d8a4f921c618 Reviewed-on: https://chromium-review.googlesource.com/1131182 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54404}
-
- 02 Jul, 2018 1 commit
-
-
Gergely Nagy authored
When parsing a numeric literal in a line like "a=0x0e+b|0;", currently the scanner consumes the "e+" part (as it thinks it's the start of an exponent). In the ECMAScript lexical grammar HexIntegerLiteral cannot contain exponents, which means the '+' character should be parsed as a binary operator. R=bradnelson@chromium.org BUG=v8:7893 Change-Id: I97a0d4ea2ee1d38a3462efbfaef5eb87b8ea704b Reviewed-on: https://chromium-review.googlesource.com/1116551Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54132}
-
- 23 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Access Isolate* and Heap* wherever already available. Roughly: GetIsolate(): -20 GetHeap(): -22 Handle<>(HeapObject): -315 handle(HeapObject): -21 Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2da36ed1909d849812a1cb6bf94cb735eedca45b Reviewed-on: https://chromium-review.googlesource.com/1111707 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53987}
-
- 21 Jun, 2018 1 commit
-
-
Toon Verwaest authored
Change-Id: I142735622cb741fa8d84ec1036febb720a467363 Reviewed-on: https://chromium-review.googlesource.com/1109918Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#53928}
-
- 17 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
Casting from a floating-point type to an integer type is undefined behavior if the integral part of the float cannot be represented in the range of the int. Bug: v8:3770, chromium:831145 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I2e85ea8b0f09bbeeb3e0dcc1135fc747fa312f6d Reviewed-on: https://chromium-review.googlesource.com/1011651 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52631}
-
- 09 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
- 06 Apr, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca Reviewed-on: https://chromium-review.googlesource.com/959533 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52416}
-
- 04 Apr, 2018 1 commit
-
-
Ross McIlroy authored
With the Ignition + Turbofan pipeline there is very little overlap between the data needed for unoptimized compilation and optimized compilation. As a result, it is cleaner to split up the CompilationInfo into UnoptimizedCompilationInfo and OptimizedCompilationInfo. Doing so also necessitate splitting up CompilationJob into UnoptimizedCompilationJob and OptimizedCompilationJob - again there is not much overlap so this seems cleaner. Change-Id: I1056ad520937b7f8582e4fc3ca8f4910742de30a Reviewed-on: https://chromium-review.googlesource.com/995895 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52369}
-