- 17 Jan, 2019 32 commits
-
-
Z Duong Nguyen-Huu authored
The current implementation does not correctly handle the edge case for setYear where input is something like -0.99 Bug: v8:5139 Change-Id: Ia919814eb6282c7f996cccc4531ed073e843ba27 Reviewed-on: https://chromium-review.googlesource.com/c/1412501Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#58899}
-
Andreas Haas authored
At the moment, the whole WebAssembly compilation may run in a single background task. On a low-end device, this can mean that the background thread is busy for seconds and thereby blocks other tasks, see e.g. https://crbug.com/914757. With this CL we re-schedule compilation tasks after every 50ms. These 50ms are an arbitrary number. I don't want to introduce too much overhead, but since this is in the background we also don't have to make tasks super short. Tasks which are going to compile with TurboFan will be posted with lower priority. This change requires changes in the CancelableTaskManager. At the moment it is not possible that a background task posts a new task which is managed by the same task manager as itself. The problem is about how to deal with another thread which calls CancelAndWait concurrently. At the moment, if a new task gets posted after the call to CancelAndWait, then `CHECK(!canceled_)` in CancelableTaskManager::Register will fail. If we used a lock to synchronize the calls to CancelAndWait and Register, then there would be a deadlock, where the thread which calls CancelAndWait waits for the task which wants to call Register, but at the same time blocks that task by holding the lock. With the change here, posting a task after the call to CancelAndWait will just immediately cancel the new task. This matches the behavior you would get if CancelAndWait is called right after calling Register. Bug: chromium:914757 Change-Id: I6d57aba161db8a915ec0d745658e0c28d25219a8 Reviewed-on: https://chromium-review.googlesource.com/c/1411884 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58898}
-
Junliang Yan authored
Port 1a1f4e1e Original Commit Message: Refactor the AllocateAssemblerBuffer helper for the new Assembler API. This is the only non-mechanical part, all other callsites that create Assembler instances can be trivially changed to the new API. This will be done in a separate CL. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8e22f8c2b6c2b1b9158969d28d4edf291a84bcf0 Reviewed-on: https://chromium-review.googlesource.com/c/1416952 Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58897}
-
Junliang Yan authored
Port edfb8cad Original Commit Message: Refactor all call sites to use the new API introduced in https://crrev.com/c/1411347 and remove the legacy constructors. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I5fea49f4d969edede114101314763d245e9a1fa1 Reviewed-on: https://chromium-review.googlesource.com/c/1417950Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58896}
-
Aleksandar Rikalo authored
Build started to fail after commit 4064757c Change-Id: Ibda0a156f10da4708589ee4edad33239278ad411 Reviewed-on: https://chromium-review.googlesource.com/c/1417830Reviewed-by: Predrag Rudic <prudic@wavecomp.com> Commit-Queue: Predrag Rudic <prudic@wavecomp.com> Cr-Commit-Position: refs/heads/master@{#58895}
-
Junliang Yan authored
Port fab59bbb Original Commit Message: The previous implementation of MicrotaskQueue::RunMicrotasks() didn't support non-default MicrotaskQueue as RunMicrotasks builtin couldn't take a parameter. This CL updates the entry trampoline for RunMicrotasks builtin to pass a MicrotaskQueue parameter to support non-default one. R=tzik@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id30e746879b1a17921320eac6c6f6c30e56961cc Reviewed-on: https://chromium-review.googlesource.com/c/1417385Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58894}
-
Mythri authored
In most cases, the language mode can be inferred from the closure and the context. Computing the language mode instead of passing it around simplifies the ICs and will make it possible to go towards lazily allocating feedback vectors. Currently ICs obtain the language mode from the feedback vectors and with lazy feedback allocation we may not always have feedback vectors. Since computing language mode is a bit expensive we want to defer it as far as possible. In Array builtins and other builtins like Reflect.Set we need to force a language mode when setting the properties. To support these cases the SetProperty methods allow the language mode to be overridden when needed. This is a first cl in a series of cls, that will defer the language mode computation further and remove language mode where it is not needed. BUG: v8:8580 Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9 Reviewed-on: https://chromium-review.googlesource.com/c/1409426Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#58893}
-
Ben L. Titzer authored
This CL adds a helper function that simplifies a bounds check pattern that appears repeatedly in the code. R=clemensh@chromium.org Change-Id: I8c617515b34eb2d262d58a239a29c1515de2d92d Reviewed-on: https://chromium-review.googlesource.com/c/1417611 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58892}
-
Georg Neis authored
This reverts commit 8683116e. Reason for revert: There's a bug in the StoreGlobalIC that causes regressions in combination with this CL (observable in Chrome but not in d8). Original change's description: > Reland^3 "[turbofan] Use feedback when reducing global loads/stores." > > This is a reland of 2d2c1374 without > changes. Offending chromium tests have been modified. > > Original change's description: > > Reland^2 "[turbofan] Use feedback when reducing global loads/stores." > > > > This reverts commit ac85ab0a. A > > chromium test caused trouble and was taken care of in > > https://chromium-review.googlesource.com/c/1384064. > > > > Original change's description: > > > [turbofan] Use feedback when reducing global loads/stores. > > > > > > We already record the script context location or the property cell > > > as feedback of the global load/store IC, so Turbofan doesn't need > > > to do the lookups again. > > > > TBR=sigurds@chromium.org > > > > Change-Id: I58bcd9bceec2f9cf401f7b0fc4460a6da6cd0abc > > Reviewed-on: https://chromium-review.googlesource.com/c/1386404 > > Commit-Queue: Georg Neis <neis@chromium.org> > > Reviewed-by: Georg Neis <neis@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#58393} > > Change-Id: Ic6734201a6c45f2752488ab44b16859776802f51 > Reviewed-on: https://chromium-review.googlesource.com/c/1408252 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58769} TBR=neis@chromium.org,sigurds@chromium.org,bmeurer@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:922545, chromium:922514, chromium:922558 Change-Id: I6e4c4c0fbc29a0f2a03972f1687242ae247ebfa8 Reviewed-on: https://chromium-review.googlesource.com/c/1417614 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58891}
-
Tobias Tebbi authored
Bug: v8:7793 Change-Id: Ifb3f27c7da02c2040fdf5042dafa13b336007f94 Reviewed-on: https://chromium-review.googlesource.com/c/1413875 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58890}
-
Junliang Yan authored
Port edab9a20 Original Commit Message: and TurboAssembler. Instead of listing all the different combinations of arguments (which is one more now, temporarily), just forward all arguments down via MacroAssembler and TurboAssembler to TurboAssemblerBase. Interestingly, this requires more specific types sometimes (int instead of size_t), since further down the forwarding chain, the compiler does not recognize any more that the value is a constant, and emits a warning about a possibly truncating implicit conversion. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I6dddc58b81d020570087393158f4ad0f37efa9ce Reviewed-on: https://chromium-review.googlesource.com/c/1417379Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58889}
-
Tobias Tebbi authored
This inlines macros with structs as label parameters, to work-around a limitation in the C++ lowering of macros that doesn't allow this. Bug: v8:7793 Change-Id: Idd177c115f3a0b277e8cf99b8a051e6d253359b3 Reviewed-on: https://chromium-review.googlesource.com/c/1417613 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#58888}
-
Ben L. Titzer authored
This CL fixes the zero-count and overlapping cases for the table.copy bytecode. R=mstarzinger@chromium.org CC=binji@chromium.org BUG=v8:7747 Change-Id: I6211e4c899621069ebf8bc088b3ab4e80c7bbd0a Reviewed-on: https://chromium-review.googlesource.com/c/1417172 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58887}
-
Clemens Hammacher authored
Clean-up to remove explicit resource deallocation by using unique_ptr instead. R=mstarzinger@chromium.org Bug: v8:8562 Change-Id: I603cf1b9e2cfe33bc7e6bd84cdd228cf10ff20ba Reviewed-on: https://chromium-review.googlesource.com/c/1415492 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58886}
-
Andreas Haas authored
Implementation of anyfunc parameters. Different to anyref parameters we have to do a validation in the js-to-wasm wrapper: Only exported wasm functions are allowed. I implemented this check in a runtime function. R=titzer@chromium.org Bug: v8:7581 Change-Id: I6145782fb8578124ddc21b50133c82235d666f19 Reviewed-on: https://chromium-review.googlesource.com/c/1417470Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58885}
-
Clemens Hammacher authored
Refactor all call sites to use the new API introduced in https://crrev.com/c/1411347 and remove the legacy constructors. R=mstarzinger@chromium.org Bug: v8:8689, v8:8562 Change-Id: Id73686413726b2860f551dd200ef4b8823ef3034 Reviewed-on: https://chromium-review.googlesource.com/c/1415491Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58884}
-
Georg Neis authored
We're not even sure such a situation could ever arise (ignoring --stress-opt). R=jarin@chromium.org Bug: v8:7790 Change-Id: I4e498c3984b9e00cccc6234ad82ffac6f95576c2 Reviewed-on: https://chromium-review.googlesource.com/c/1414918 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58883}
-
Georg Neis authored
Change-Id: I1bdb803a66a004f1a6dfdee149f459b0d0210f2f Reviewed-on: https://chromium-review.googlesource.com/c/1414922 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#58882}
-
Clemens Hammacher authored
Refactor the AllocateAssemblerBuffer helper for the new Assembler API. This is the only non-mechanical part, all other callsites that create Assembler instances can be trivially changed to the new API. This will be done in a separate CL. R=mstarzinger@chromium.org Bug: v8:8689, v8:8562 Change-Id: I6c150748eeea778d9b70f41fd66fbb1221035a1b Reviewed-on: https://chromium-review.googlesource.com/c/1415490 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58881}
-
Tobias Tebbi authored
This triggers the optimizing StoreField lowering in the MemoryOptimizer. Drive-by cleanup: Remove useless return values in CSA store functions. Bug: v8:7793 Change-Id: I08417a81ca321dcd27ff5cc3a11ef74262d419fb Reviewed-on: https://chromium-review.googlesource.com/c/1414911Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58880}
-
tzik authored
This updates the InterfaceDescriptor for JSRunMicrotasksEntry and RunMicrotasksTrampoline from DummyDescriptor to RunMicrotasksEntryDescriptor. Bug: v8:8124 Change-Id: I4522fd45bd18b33a2a4471b76c217d2a0f504cb0 Reviewed-on: https://chromium-review.googlesource.com/c/1412132 Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58879}
-
Simon Zünd authored
This CL fixes two bugs. First, when looking for a free spot while moving elements to the front, the prototype chain was also considered, even though an object at a specific index might have a hole (free spot). Second, when moving an element to the front, we are not allowed to delete it immediately (to preserve semantics when interacting with non-extensible objects). Such an element is then a free spot, but won't be recognised as such. This CL sets that element to undefined after it was moved, to mark it as a free spot. R=jgruber@chromium.org Bug: chromium:897512,v8:8369 Change-Id: I79207215b8b0a3c714f064450d8fe5ca0ea4a096 Reviewed-on: https://chromium-review.googlesource.com/c/1417171 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58878}
-
Georg Neis authored
For instance, now there's only one place where the destination file is chosen. Bug: v8:7790 Change-Id: I8d6a093808fec1d47aee78748537c5c22169e79b Reviewed-on: https://chromium-review.googlesource.com/c/1414910 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#58877}
-
Ulan Degenbaev authored
This is a reland of fd49c8bb Original change's description: > [heap] Optimize MemoryChunk::FromAnyPointerAddress > > Currently this function requires the caller to hold a mutex for the > large page chunk hashtable and performs a hashtable lookup. > > This patch adds a header sentinel field in each MemoryChunk. The field > is then used to distinguish large object slots from ordinary slots. > > Bug: chromium:915233 > Change-Id: I9fbeeb4f07f49573d0a21f9a2cc934370e417d68 > Reviewed-on: https://chromium-review.googlesource.com/c/1391752 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58732} Bug: chromium:915233 Change-Id: I10d23a928328169a2dc6bab78d2b7d2c5d00ebb6 Reviewed-on: https://chromium-review.googlesource.com/c/1406672 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58876}
-
Georg Neis authored
Bug: v8:7790 Change-Id: I223f01bc7f26de234b41e6ab249bb41f822c835f Reviewed-on: https://chromium-review.googlesource.com/c/1411602Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58875}
-
kingwl authored
Add a special handle of TypedArray elements in TestElementsIntegrityLevel Bug: v8:8082 Change-Id: I60be644801618b576b0b8b1883ac67bf0040c849 Reviewed-on: https://chromium-review.googlesource.com/c/1412133Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#58874}
-
Maya Lekova authored
This CL adds handling for almost all calls, and for some load and store bytecodes in the serializer and marks the relevant call targets as "serialized for compilation". Design doc: https://docs.google.com/document/d/1vCQYhtFPqXafSMweSnGD8l0TKEIB6cPV5UGMHJtpy8k/edit?ts=5bf7d341 Bug: v8:7790 Change-Id: I2bd24c1b0541e83c108422b66902a5b979f1e1a8 Reviewed-on: https://chromium-review.googlesource.com/c/1351014Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58873}
-
tzik authored
The previous implementation of MicrotaskQueue::RunMicrotasks() didn't support non-default MicrotaskQueue as RunMicrotasks builtin couldn't take a parameter. This CL updates the entry trampoline for RunMicrotasks builtin to pass a MicrotaskQueue parameter to support non-default one. Bug: v8:8124 Change-Id: I817238cd9a1fd6c20dcd58022274736c5e86229a Reviewed-on: https://chromium-review.googlesource.com/c/1369906Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58872}
-
Clemens Hammacher authored
The function body decoder already tracks reachability and only calls the backend for reachable code. Thus the checks in the TF backend can be skipped. Note that there was already a DCHECK in place that checks whether {SsaEnv::reached()} always returns true. This was to give fuzzers a chance to prove the reachability analysis in the function body decoder wrong. Since this did not happen, we can not remove the {reached()} method from SsaEnv, since it always returned true anyway. R=titzer@chromium.org Bug: v8:8423, v8:8611 Change-Id: I2336aa7a092e381e3d94d87051b6e14db0dbab99 Reviewed-on: https://chromium-review.googlesource.com/c/1415493Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58871}
-
Ujjwal Sharma authored
Add benchmarks for String.prototype.startsWith in order to keep track of performance ahead of the torque port. Bug: v8:8400 Change-Id: I0276b84b315024bba1a0d6f761ee2c6cf2c516a2 Reviewed-on: https://chromium-review.googlesource.com/c/1416070 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58870}
-
Clemens Hammacher authored
and TurboAssembler. Instead of listing all the different combinations of arguments (which is one more now, temporarily), just forward all arguments down via MacroAssembler and TurboAssembler to TurboAssemblerBase. Interestingly, this requires more specific types sometimes (int instead of size_t), since further down the forwarding chain, the compiler does not recognize any more that the value is a constant, and emits a warning about a possibly truncating implicit conversion. R=mstarzinger@chromium.org Bug: v8:8689, v8:8562 Change-Id: Ifd13d2210ee64251c0075c0d9b68cacd5107d9ab Reviewed-on: https://chromium-review.googlesource.com/c/1414913Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58869}
-
Michael Achenbach authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/7a1aacd..de8bef4 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/78448d9..a9729f3 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/e229a0e..d1dba64 Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/933e5df..879ac09 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/a9c5056..9f413ce This also ports: https://crrev.com/c/1415130 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Bug: chromium:922889 Change-Id: Ibf674eeefb82f9feb210107d6081c489cfba48db Reviewed-on: https://chromium-review.googlesource.com/c/1416608 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58868}
-
- 16 Jan, 2019 8 commits
-
-
Alexei Filippov authored
Make the description return the class name as it used to be. BUG=chromium:919292 Change-Id: Idbc07643f15014a39a08a545a5003be891d95bd3 Reviewed-on: https://chromium-review.googlesource.com/c/1416318Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#58867}
-
tzik authored
This retires Isolate::RunMicrotasks in favor of using MicrotaskQueue::RunMicrotasks. Bug: v8:8124 Change-Id: I717dabce7c4127d7e4524bdb639f46c3d55df49b Reviewed-on: https://chromium-review.googlesource.com/c/1385969Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58866}
-
Junliang Yan authored
Port 1a3aab51 Original Commit Message: When generating an Assembler, you currently have two choices: Either let the Assembler allocate a growable internal buffer, which is owned by the Assembler. Or provide an externally allocated buffer, which cannot grow. This CL changes this interface to allow providing any implementation of a buffer. The provided buffer can be a view to an externally owned buffer, which still can grow. This will be used to split WebAssembly compilation and code submission. The buffer needs to be able to grow, but cannot be owned by the Assembler because it has to survive until the code is submitted. R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Id9383db813b13ea1d9eab485724aeb55b08cdfee Reviewed-on: https://chromium-review.googlesource.com/c/1416310Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58865}
-
Sergiy Belozorov authored
TBR=sergiyb@chromium.org No-Try: true Bug: chromium:616879 Change-Id: I301af0a07f29c32c1ade23a7858455aa2632a847 Reviewed-on: https://chromium-review.googlesource.com/c/1407083 Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#58864}
-
Sven Sauleau authored
Fix WebAssembly's global/value-get-set. The argument must not be undefined. mjsunit tests were updated. Bug: v8:8319 Change-Id: Id3d3c9b18cbc8854e589481dfc7c52f35cfb7bf7 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/1411886Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Sven Sauleau <ssauleau@igalia.com> Cr-Commit-Position: refs/heads/master@{#58863}
-
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}
-
Johannes Henkel authored
This should be a non-event, I'm just rolling it to line it up with https://chromium.googlesource.com/deps/inspector_protocol/ again. Change-Id: I84b0af31963bceb66084a579519412d47c3bbd40 Reviewed-on: https://chromium-review.googlesource.com/c/1413409Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#58861}
-
Daniel Clifford authored
With the changes in this patch, it is now possible to add methods to both Torque's class and struct types. As a special case, "constructor" methods are used to initialize the values of classes and structs when they are constructed. The functionality in this patch includes: - The refactoring of class- and struct-handling code to share field and method declaration code between both. - Addition of the "%Allocate" intrinsic that allocates raw bytes to be allocated from the V8 GC's NewSpace heap as the basis for freshly created, initialized class objects. - An implementation of a CallMethodExpression AST node that enables calling methods and constructors, including special handling of passing through the "this" pointer for method calls on structs by reference. The syntax for struct construction using "{}" remains as before, but now calls the struct's matching constructor rather than implicitly initializing the struct fields with the initialization arguments. A new syntax for allocation classes is introduced: "new ClassName{constructor_param1, constructor_param1, ...}", which de-sugars to an %Allocate call followed by a call to the matching constructor. - class constructors can use the "super" keyword to initialize their super class. - If classes and struct do not have a constructor, Torque creates a default constructor for them based on their field declarations, where each field's initial value is assigned to a same-typed parameter to the the default constructor. The default constructor's parameters are in field-declaration order, and for derived classes, the default constructor automatically uses a "super" initialization call to initialize inherited fields. - Class field declarations now automatically create ".field" and ".field=" operators that create CSA-compatible object accessors. - Addition of a no-argument constructor for JSArrays that creates an empty, PACKED_SMI_ELEMENTS JSArray using the machinery added elsewhere in this patch. Bug: v8:7793 Change-Id: I31ce5f4b444656ab999555d780aeeba605666bfa Reviewed-on: https://chromium-review.googlesource.com/c/1392192 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58860}
-