- 21 Feb, 2018 6 commits
-
-
Sigurd Schneider authored
Bug: v8:7327 Change-Id: Id1dbe6ad2cbf790075e360c5d0b5422d2ca4271b Reviewed-on: https://chromium-review.googlesource.com/928221Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51413}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/10345cd..3206b7c Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/8273e47..7ae2122 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I215ea4470dc201c588ee5e270db83795bc6071e8 Reviewed-on: https://chromium-review.googlesource.com/927981Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#51412}
-
Sathya Gunasekaran authored
Change-Id: I5a706b015a36a7a176a03e740f3fc3c406e6a837 Reviewed-on: https://chromium-review.googlesource.com/927263 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51411}
-
Michael Achenbach authored
Before, configurations were chosen on clusterfuzz side. This migrates the choice to the V8 repo, to enable easier changing it and to allow sharing it between different fuzzers. NOTRY=true TBR=sergiyb@chromium.org Bug: chromium:813833 Change-Id: I9890a36fd6aab171d3e13172fc55b274f189e532 Reviewed-on: https://chromium-review.googlesource.com/927681Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51410}
-
Adam Klein authored
This is the same treatment we give other numeric literals, and seems sensible since they end up referenced from Ignition's constant pool. R=jkummerow@chromium.org Bug: v8:6791 Change-Id: Ia689c709d402e4e87b7d2d22c582108400c25580 Reviewed-on: https://chromium-review.googlesource.com/922283 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51409}
-
Eric Holk authored
There were two failure paths where the CodeProtectionInfo object would not be freed. This adds a free() on those paths to prevent a memory leak. Bug: v8:7434 Change-Id: I48d60aee3255d829bf39b51cc30fabaf76b1fb07 Reviewed-on: https://chromium-review.googlesource.com/927746Reviewed-by: Brad Nelson <bradnelson@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51408}
-
- 20 Feb, 2018 27 commits
-
-
Vasili Skurydzin authored
Disable download of prebuild clang binaries on AIX platform when fetching v8. Affects AIX only. Change-Id: Ib3ed02c2cb292e4815904cbe5fedfca19c347f81 Reviewed-on: https://chromium-review.googlesource.com/919187Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#51407}
-
Clemens Hammacher authored
Liftoff currently allocates a stack frame of fixed size for each function, and bails out if more stack space is needed during code generation for the function. This CL prepares the interface and the assemblers on ia32 and x64 to allow patching of the stack frame size after the whole function body was generated. R=mstarzinger@chromium.org, titzer@chromium.org CC=sreten.kovacevic@mips.com Bug: v8:6600 Change-Id: Iff54ff65f3e6e13d53ff90ec34b2c5cf7d276d5e Reviewed-on: https://chromium-review.googlesource.com/925463 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51406}
-
Justin Ridgewell authored
Too many files know how to deal with decoding, counting, and splitting UTF-8 into uc16 chars. This consolidates several callers who deal with full (Vector<char>, not streaming) bytes by using a UTF-8 Iterator to decode bytes into individual uc16 chars. R=marja@chromium.org Bug: Change-Id: Ia36df3e8c1abd0398415ad23a474557c71c19a01 Reviewed-on: https://chromium-review.googlesource.com/831093Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Justin Ridgewell <jridgewell@google.com> Cr-Commit-Position: refs/heads/master@{#51405}
-
Adam Klein authored
After f1a55180, we no longer have to deal with a case where we rewrite destructuring assignments belonging to some inner function. Remove a bit of code and add DCHECKs to reflect that fact. Change-Id: I7553e86d4ae2f6290853eee38f85d2f243b778a9 Reviewed-on: https://chromium-review.googlesource.com/922893Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51404}
-
Adam Klein authored
Also delete a bit of dead code depending on dead types. Change-Id: I6cfc7e2f6c8fd006bd0de054bfc3e9f725996741 Reviewed-on: https://chromium-review.googlesource.com/923083Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51403}
-
Deepti Gandluri authored
Bug: v8:6532 Change-Id: Ib11f01be1d7fec9107ceb0ee13add83da4b88e95 Reviewed-on: https://chromium-review.googlesource.com/924647Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#51402}
-
Bill Budge authored
- Changes assert to reflect that we might exceed the number of attempts to allocate a padded memory region while attempting to get an aligned allocation and return null instead. Bug: chromium:813587 Change-Id: I0e225f50b7a64a2f2a72de15322525574445efbd Reviewed-on: https://chromium-review.googlesource.com/926968Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#51401}
-
Gabriel Charette authored
This is in an attempt to diagnose why it's seen as a highly idle step in some traces, e.g. https://docs.google.com/document/d/1bdlWAWeP3j2yo2DYfeok6URqFCrt57yx-nucGMybGGQ/edit#heading=h.1baa99zf8jc0 https://drive.google.com/file/d/1kLfH1dM5TOJbiD2v_KJsxWXakpd2k-7q/view R=mlippautz@chromium.org Bug: chromium:813824 Change-Id: I743d9b7430a3970751398b4c5a4d569fbcae2cbe Reviewed-on: https://chromium-review.googlesource.com/926844Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Gabriel Charette <gab@chromium.org> Cr-Commit-Position: refs/heads/master@{#51400}
-
Michael Achenbach authored
This is a partial revert of: https://crrev.com/c/890938 and https://crrev.com/c/893982 Before this CL, the test runner blocked on ongoing tests in order to process their results after an internal timeout. However, the logic required for this feature was overly complicated and prevented an acceptable implementation for fast aborts. Furthermore, also the fuzzers suffered from timeouts on swarming due to hanging tests. Instead, we now abort immediately on internal timeout (used on fuzzers), SIGINT (Ctrl-C) and SIGTERM. Ongoing tests are immediately terminated and their results are disregarded. On SIGTERM and SIGINT, we return with non-zero exit codes, and zero on internal timeout. This will also properly return json output, when the external hard timeout is reached on swarming (causes SIGTERM). TBR=sergiyb@chromium.org Bug: v8:7423, chromium:813065 Change-Id: Ib20f835f58a0970693bdd3b21dc5d766d8e115d8 Reviewed-on: https://chromium-review.googlesource.com/924852Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51399}
-
Ivica Bogosavljevic authored
During hash calculation, an array type was reinterpreted from uint16_[] to uint32_t[]. Uint32 arrays have stricter alignment requirements and these causes failures of several tests from the debugger suite. TEST=debugger/debug/debug-eval-scope Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I463c7aeb56a1010ddfb0c34f8404f05b75e6c466 Reviewed-on: https://chromium-review.googlesource.com/926341 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#51398}
-
Michael Starzinger authored
This makes sure that an existing unmodified snapshot works together with the --branch-load-poisoning feature by unconditionally resetting the underlying register in {CEntryStub::Generate}. R=mvstanton@chromium.org Change-Id: I4d9f12a3b45bd7b46eda55a342beadf9b9a4bb8a Reviewed-on: https://chromium-review.googlesource.com/926365 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#51397}
-
Stephan Herhut authored
For some wasm functions, name information is not available, resulting in a nullptr being passed to the profiling event listener. While we probably should have better names, this at least prevents a crash. Change-Id: I41bd7827124e9c193a076a57d3a134f5df1d6a15 Reviewed-on: https://chromium-review.googlesource.com/926367 Commit-Queue: Stephan Herhut <herhut@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51396}
-
Tobias Tebbi authored
Without processing the input, a phi node can be flagged as unused and replaced with {Dead}, although it is used by a {DeadValue} node. Bug: chromium:808472 Change-Id: I7446883535b34770e31e4e26e1c242eb05673a91 Reviewed-on: https://chromium-review.googlesource.com/919362 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#51395}
-
Ulan Degenbaev authored
Each DOM node has the corresponding V8 wrapper object. This leads to apparent duplication in the heap snapshot and may confuse the users. This patch allows the embedder to specify V8 wrapper for each embedder node. In the heap snapshot the wrapper node will be merged into the embedder node. The resulting node will have the same properties as the embedder node. If the wrapper node name has a tag, then the tag is also added to the merged node. Bug: chromium:811925 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I2492f5b28163a78aee707b9ced1b09ac4b203e3f Reviewed-on: https://chromium-review.googlesource.com/919482 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#51394}
-
Camillo Bruni authored
Bug: chromium:813427 Change-Id: Ie0b096b20f335648e7920c5ebe4ff0fa3b5ab9d5 Reviewed-on: https://chromium-review.googlesource.com/926003Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51393}
-
Yang Guo authored
Until now lookbehind assertions have been quantifiable in non-unicode regexps. This seems to be an oversight in the spec. R=jgruber@chromium.org Bug: v8:7462 Change-Id: Iad0db441089c7510dd2c42a861db92c05545ce1e Reviewed-on: https://chromium-review.googlesource.com/926102 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51392}
-
Yang Guo authored
R=bmeurer@chromium.org Bug: v8:7421 Change-Id: Iacdd8d294c02b7feb72e3a0bb397930e91197ae7 Reviewed-on: https://chromium-review.googlesource.com/926124 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51391}
-
Benedikt Meurer authored
This makes the inlining of the default resolve/reject closures generated by the Promise constructor effective. To be really useful we still need to have the Promise constructor inlined (work-in-progress) and eventually track SharedFunctionInfo feedback in the CALL_IC. Bug: v8:2206, v8:7253 Change-Id: I08fa8ca72754f459ae36027a55377ef57d411cdc Reviewed-on: https://chromium-review.googlesource.com/926103 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#51390}
-
Peter Marshall authored
Inline the promise constructor when we have one argument and target matches new_target. This is not complete, and is sitting behind an experimental flag for now. We need to fix deoptimization by providing proper frame states. Create a unittest class for JSCallReducer - just assert whether there was a change or not, rather than specify the exact graph that should be produced. Bug: v8:7253 Change-Id: Ib6886a8feb2799f47cd647853cabcf12a189bc25 Reviewed-on: https://chromium-review.googlesource.com/919282 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51389}
-
Stephan Herhut authored
Adds support for generating logging/profiling event when wasm code gets compiled on the native heap. As code objects on the native heap are not ordinary heap objects, the existing abstractions for reporting cannot be used. Instead, add specialized versions for WasmCode objects. Change-Id: I808618d70142073b3c1b06edef6931f59bed8cf5 Reviewed-on: https://chromium-review.googlesource.com/913308 Commit-Queue: Stephan Herhut <herhut@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51388}
-
Benedikt Meurer authored
This CL introduces new operators JSFulfillPromise and JSPromiseResolve, corresponding to the specification operations with the same name, and uses that to lower calls to Promise.resolve() builtin to JSPromiseResolve. We also optimize JSPromiseResolve and JSResolvePromise further based on information found about the value/resolution in the graph. This applies to both Promise.resolve() builtin calls and implicit resolve operations in async functions and async generators. On a very simple microbenchmark like console.time('resolve'); for (let i = 0; i < 1e8; ++i) Promise.resolve({i}); console.timeEnd('resolve'); this CL reduces the execution time from around 3049ms to around 947ms, which is a pretty significant 3x improvement. On the wikipedia benchmark we observe an improvement around 2% with this CL. Bug: v8:7253 Change-Id: Ic69086cdc1b724f35dbe83305795539c562ab817 Reviewed-on: https://chromium-review.googlesource.com/913488Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51387}
-
Deepti Gandluri authored
Change-Id: Icfacb59e7c90ee696fd7242f4441cfb2965f490b Reviewed-on: https://chromium-review.googlesource.com/924626Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#51386}
-
Clemens Hammacher authored
Remove code duplication by having one method for generating the code for binary operations, templatized by the actual instruction(s) to emit for the operation. R=titzer@chromium.org Bug: v8:6600 Change-Id: I6303475682416727e6a6c9c4ec33ca1cde112092 Reviewed-on: https://chromium-review.googlesource.com/924862Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51385}
-
Sigurd Schneider authored
This ensures that breaking on inlined builtins works, even when compiling concurrently. This CL also introduces the member Isolate::AbortConcurrentOptimization. R=sigurds@chromium.org Bug: v8:178 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie6cbb48ebde18036888af2dd715862e7a14ddf9d Reviewed-on: https://chromium-review.googlesource.com/912468 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51384}
-
Mostyn Bramley-Moore authored
Followup after https://chromium-review.googlesource.com/c/v8/v8/+/919063 Bug: chromium:811842 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I8e8a4a6d9192d39502514c5a19539965b74b1681 Reviewed-on: https://chromium-review.googlesource.com/925603Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#51383}
-
Benedikt Meurer authored
There's no need to have the AsyncFunctionAwait/AsyncGeneratorAwait operations as separate closures that are called via JavaScript calling convention, but instead we can just have them as intrinsics (with the goal to eventually turn them into IC stubs). Drive-by-fix: Tail call to the ResumeGenerator builtin when resuming an async function. The earlier restrictions no only apply with the new machinery. Bug: v8:7253 Change-Id: I0c4d04dae15b4211158fc07151adafda69d4faec Reviewed-on: https://chromium-review.googlesource.com/924703Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51382}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/e2c6aae..10345cd Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/4aa92ef..8273e47 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Iabdb565357af2ab1a156b013068230a58377b69e Reviewed-on: https://chromium-review.googlesource.com/925805 Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#51381}
-
- 19 Feb, 2018 7 commits
-
-
Clemens Hammacher authored
The "FreezeWasmLazyCompilation" runtime function can only be invoked if --wasm-lazy-compilation is passed. Hence the "lazy-compilation.js" test must be skipped. The other tests are not affected by this, thus un-skip them. R=machenbach@chromium.org Bug: v8:7400 Change-Id: Id521938ae651b4a67510e42aa69e17b5e0b14a0a Reviewed-on: https://chromium-review.googlesource.com/923967 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#51380}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Ia7c18afb10b4198b690b3bc788b8969595d6b0de Reviewed-on: https://chromium-review.googlesource.com/925303 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51379}
-
Camillo Bruni authored
Change-Id: Idbee9b7b8077a9fd2ffa4a2a010ae7d44b98e31e Reviewed-on: https://chromium-review.googlesource.com/924198 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51378}
-
Peter Marshall authored
Factor out IterableToList into a helper stub to save space. There are two callers now, TypedArrayFrom and ConstructByIterable, and it is ~2.5kb so we save space by doing this. Increase test coverage to cover more of the branching in CSA. This is doesn't follow the control flow in the spec exactly - see the big code comment for an explanation. Change-Id: Ief39e93c4202cb7bf0e28a39dc6aa81b8b9c59d2 Reviewed-on: https://chromium-review.googlesource.com/908755 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51377}
-
sreten.kovacevic authored
Implement i32 binops, unops and shiftops on MIPS architecture. Bug: v8:6600 Change-Id: Ibd17f840e6754c9eac2fb0bc61c3461e42734703 Reviewed-on: https://chromium-review.googlesource.com/919161 Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51376}
-
Clemens Hammacher authored
The result of an f64 binop was marked as f32 on Liftoffs value stack. This lead to errors and is fixed in this CL. I plan to clean up all binop implementions in a follow-up CL. R=titzer@chromium.org Bug: chromium:812005, v8:6600 Change-Id: I5bcd5c2e7d2b6170ef60f5e83cf2876b3475c38a Reviewed-on: https://chromium-review.googlesource.com/924025Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51375}
-
Tobias Tebbi authored
This introduces masking of loads with speculation bit during code generation. At the moment, this is done only under the --branch-load-poisoning flag, and this CL enlarges the set of supported platforms from {x64} to {x64, arm}. Overview of changes: - new register configuration configuration with one register reserved for the speculation poison/mask (kSpeculationPoisonRegister). - in codegen, we introduce an update to the poison register at the starts of all successors of branches (and deopts) that are marked as safety branches (deopts). - in memory optimizer, we lower all field and element loads to PoisonedLoads. - poisoned loads are then masked in codegen with the poison register. * only integer loads are masked at the moment. Bug: chromium:798964 Change-Id: I37f5531fd18a96038ea8b059641e3dfc852c2d34 Reviewed-on: https://chromium-review.googlesource.com/913354 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#51374}
-