- 09 Jan, 2018 20 commits
-
-
Georg Neis authored
- Remove unused deoptimization reasons. - Replace most uses of kNoReason with an actual reason (some are new). - Rename kNoReason to kUnknown. Bug: Change-Id: Ia8df54fca0f0f4885ef0c3523ce8f67b557a635d Reviewed-on: https://chromium-review.googlesource.com/839421Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50440}
-
sreten.kovacevic authored
Fix implementation of SDL instruction in MIPS64 simulator. Use rt register as unsigned for shift operation. TEST: cctest/test-run-wasm-64/RunWasmTurbofan_Store_i64_narrowed Change-Id: I3a900631f8db401cf041e103436d4ec263a6f1c4 Reviewed-on: https://chromium-review.googlesource.com/856577Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50439}
-
Clemens Hammacher authored
This reverts commit f22156bf. Reason for revert: Lots of compile errors. Try bots sloppy?? Original change's description: > [Liftoff] Rename kConstant to kI32Const > > This makes it more clear that we only store i32 values as constants in > the cache state. > > R=ahaas@chromium.org > > Bug: v8:6600 > Change-Id: I3022e963e864c9c533cbb673bd8502481389799b > Reviewed-on: https://chromium-review.googlesource.com/853870 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50437} TBR=ahaas@chromium.org,clemensh@chromium.org Change-Id: I6e224d4aa03ff18d6d55e9f8d4726fac711c7665 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6600 Reviewed-on: https://chromium-review.googlesource.com/857016Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50438}
-
Clemens Hammacher authored
This makes it more clear that we only store i32 values as constants in the cache state. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I3022e963e864c9c533cbb673bd8502481389799b Reviewed-on: https://chromium-review.googlesource.com/853870Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50437}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/1a03e2d..1ce2f5d Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/95f3b4d..e1f9b2c Rolling v8/third_party/icu: https://chromium.googlesource.com/chromium/deps/icu/+log/e3b480d..f3d25bc TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I59e5ca65d4ba45ecbddaacc68a7b0c970856a02e Reviewed-on: https://chromium-review.googlesource.com/856836Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#50436}
-
Choongwoo Han authored
The checked node and used node were mismatched. It checked if "var_unique" is a string, but it used "key" which may not be a string. Bug: v8:4911, v8:7161, chromium:800077 Change-Id: Ia2aee8b77ac33500430365a4800bf9cca40a28fc Reviewed-on: https://chromium-review.googlesource.com/855138Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#50435}
-
Ben L. Titzer authored
This CL simply moves the implementation classes for WASM native module serialization into the CC file and simplifies them a bit. R=mstarzinger@chromium.org Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id560d2c35eb12bdd461f5d80cb5211a2f4f51684 Reviewed-on: https://chromium-review.googlesource.com/856677Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50434}
-
Yang Guo authored
In collaboration with Qingyan Li <qingyan.liqy@alibaba-inc.com>. R=jgruber@chromium.org, mlippautz@chromium.org Bug: v8:7249 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I87f62103ec5b31de274fa22ad275f1c1bcb3ed86 Reviewed-on: https://chromium-review.googlesource.com/846750 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#50433}
-
jgruber authored
There were two separate bugs here. First, a signed/unsigned mismatch where we took the result of PositiveNumberToUint32 and treated it as a signed int. Second, AdvanceStringIndex did not handle large input values correctly. Both are fixed by using uint64_t consistently. Bug: chromium:799813, v8:7258 Change-Id: If2819f87986d0ca732bc24df290f6dc7614083e8 Reviewed-on: https://chromium-review.googlesource.com/854272 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#50432}
-
Leszek Swirski authored
Instead of calling Abort, which was failing when trying to read its string argument as a Smi. Change-Id: I008b8620cbb7df2a56fc5c5ea42f4d573b159f76 Reviewed-on: https://chromium-review.googlesource.com/856778Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#50431}
-
Clemens Hammacher authored
This adds support for if blocks to Liftoff. R=titzer@chromium.org Bug: v8:6600 Change-Id: Iac7f3ec6526e1259b447ab6ec794a8a1c7ae05c3 Reviewed-on: https://chromium-review.googlesource.com/853501 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50430}
-
sreten.kovacevic authored
Add SDL and SDR instructions to disassembler on MIPS64. Bug: Change-Id: I9cfcfe05d34aa483b8f7504267b76a782dd06558 Reviewed-on: https://chromium-review.googlesource.com/856676Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50429}
-
Michal Majewski authored
Temporary workaround to avoid the same variant name for multiple variants of the same test. Bug: v8:6917 Change-Id: I9a25dcaf81d35da0dc2617c089cb4811c2a958cb Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Reviewed-on: https://chromium-review.googlesource.com/852833 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50428}
-
Clemens Hammacher authored
This adds support for direct calls in Liftoff. Drive-by: Fix / extend two tests for calls which were helpful for developing this CL. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I20a98d9dd330da9a020c8c9b5c10b04e94af684d Reviewed-on: https://chromium-review.googlesource.com/847579 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50427}
-
Clemens Hammacher authored
This ensures that there is only one entrance point from C++ to generated code, hence only one method has to be excluded from CFI. It also introduces type safety by only allowing the code to be called with the right arguments. This CL includes minor drive-by fixes in the tests, like removing unused dummy variables. R=mstarzinger@chromium.org Bug: v8:7182 Change-Id: Ied9164a2497db9e7c032324c5e082094fdffc72d Reviewed-on: https://chromium-review.googlesource.com/852213Reviewed-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@{#50426}
-
Clemens Hammacher authored
Store protected instruction info needed for the wasm trap handler. This code will be used and covered by existing tests once we add support for if-constructs to Liftoff. R=titzer@chromium.org CC=eholk@chromium.org Bug: v8:6600, v8:5277 Change-Id: I508b0ab8572ef8b5c7943564714fcec7e9eb8e3b Reviewed-on: https://chromium-review.googlesource.com/853497 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50425}
-
Hannes Payer authored
Bug: chromium:796896 Change-Id: I7f46f82d079502b8ec04c5e3be5f803ec9e62ffa Reviewed-on: https://chromium-review.googlesource.com/854797 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50424}
-
Choongwoo Han authored
If there is no constructor or species updates on Array or TypedArrays, then skip lookups of constructor and species so that we can create a new typed array quickly. This path makes TA.p.slice() 4x faster in fast cases. Bug: v8:7161 Change-Id: Ib8d2a3f6b8b5ed356c5822a814164166d1285f64 Reviewed-on: https://chromium-review.googlesource.com/828343 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50423}
-
Clemens Hammacher authored
This seems to be a merge error. The if moved down by a few lines and now actually implements the bounds check instead of bailing out. Taking it out revealed a bug where we were trying to access the lowest 8 bits on a register where this is not allowed on ia32, thus a few more changes were needed in this CL. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ib1ef131a12df050302ae50115493a1fcd8323fe5 Reviewed-on: https://chromium-review.googlesource.com/852734Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50422}
-
Jaroslav Sevcik authored
Bug: chromium:798964 Change-Id: I48d6662d60765f04004b324f67ed3aadf11ee07b Reviewed-on: https://chromium-review.googlesource.com/854132Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50421}
-
- 08 Jan, 2018 20 commits
-
-
Alexey Kozyatinskiy authored
We can call less getters on node objects. R=dgozman@chromium.org Bug: chromium:799791 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iecfe76c2be6b6bed675013ac4aaa117b714d4ba5 Reviewed-on: https://chromium-review.googlesource.com/854623Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50420}
-
Junliang Yan authored
Port fba4cdf1 Original Commit Message: This patch breaks out bailout reasons into two enum classes. This helps save 3 bits on the SharedFunctionInfo as we don't have to track the abort reasons. R=gsathya@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ib2b2ce10b2f1ef6380193964aa9d868168fe129a Reviewed-on: https://chromium-review.googlesource.com/855016Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#50419}
-
Eric Holk authored
This is a reland of 9c79b37a Original change's description: > [wasm] use allocation tracker to track reserved address space > > This is a step towards falling back on bounds checks when there are too many > guarded Wasm memories. > > Bug: v8:7143 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I01916cbdd5ddb08fe1d946ab83b801f37a8fe1c6 > Reviewed-on: https://chromium-review.googlesource.com/832944 > Commit-Queue: Eric Holk <eholk@chromium.org> > Reviewed-by: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50390} Bug: v8:7143 Change-Id: Iaf0d22d300a3f2da22649552a17162dcf7bc608b Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/853142Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#50418}
-
Sathya Gunasekaran authored
This is just a rebased version of https://chromium-review.googlesource.com/c/v8/v8/+/571453 with no functional changes Bug: v8:6889 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Ia082cc09ca527505b288ac88e68e0b74eae94765 Reviewed-on: https://chromium-review.googlesource.com/849423Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#50417}
-
Yang Guo authored
This causes issues when running tools/node/fetch_deps.py on systems without gyp as pre-installed python module. And we do not even need to do this for building for node (with GN). R=machenbach@chromium.org Bug: v8:6105 Change-Id: If0089dedf176bb509b9fd000e5fe829f8a32bac6 Reviewed-on: https://chromium-review.googlesource.com/852458Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50416}
-
Clemens Hammacher authored
This fixes two issues with --trace-wasm-decoder and --trace-liftoff. First, cache state tracing in liftoff only makes sense together with --trace-wasm-decoder, so disable it otherwise. Second, we were sometimes hitting a DCHECK with --trace-wasm-decoder on functions which bailed out to Turbofan, since the bailout was resetting the end pointer of the decoder to the current pc. R=titzer@chromium.org Bug: v8:6600 Change-Id: Ib4e052a1cdec6389b12b4a0ea57f07c031324ed5 Reviewed-on: https://chromium-review.googlesource.com/853493 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50415}
-
Choongwoo Han authored
GetProperty CSA implementation bailouts prototype lookup when the holder is a typed array, which is to handle integer indexed exotic cases. However, this strict condition made too much overheads for search of common names such as "constructor". This CL checks the first character of a name, and do not bailout if we are sure that the name cannot be a special index. Bug: v8:4911, v8:7161 Change-Id: I2229ff3bebe14a452718e0b1f8354bb05437c09c Reviewed-on: https://chromium-review.googlesource.com/842963Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#50414}
-
Clemens Hammacher authored
In order to remove the CALL_GENERATED_CODE macro, it helps a lot to unify the interfaces of the simulators and make the Call method variadic in the number of arguments. This CL does that for each simulator. A follow-up CL will then completely remove the CALL_GENERATED_CODE macro and replace uses with the (new) GeneratedCode wrapper. R=mstarzinger@chromium.org Bug: v8:7182 Change-Id: I1f81445ec2faba30f0bd233b022ae1f0fae4e96f Reviewed-on: https://chromium-review.googlesource.com/850873 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50413}
-
Clemens Hammacher authored
Add a counter to measure the pure liftoff compile time. With background compilation, the reported result will roughly match the cpu time, not wall-clock time. R=titzer@chromium.org Bug: v8:6600 Change-Id: I9c76673a4cbe833de5b41a23d09892f577401374 Reviewed-on: https://chromium-review.googlesource.com/853859Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50412}
-
Clemens Hammacher authored
And apply a minor change: the {end_offset} is currently always >= 1, and we sometimes use {end_offset - 1}. Change this to compute the {end_offset} to be one less than before, and use {Uint32LessThan} instead of {Uint32LessThanOrEqual}. This matches the documentation I added and makes reasoning about the correctness of the checks easier (at least for me). R=titzer@chromium.org Change-Id: I9a18ad5c72895cbadb6593cb74d6edc24f9ab032 Reviewed-on: https://chromium-review.googlesource.com/852145 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50411}
-
Ivica Bogosavljevic authored
TEST=cctest/test-code-generator/FuzzAssembleMoveAndSwap Bug: Change-Id: I36d0b7df56f3c895a7fd4017e5e9a7cfd0053b2a Reviewed-on: https://chromium-review.googlesource.com/850399Reviewed-by: Miran Karić <miran.karic@mips.com> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Cr-Commit-Position: refs/heads/master@{#50410}
-
Clemens Hammacher authored
For simplicity, we currently use the approach to do all computations and bounds checks on 32 bit values, and only convert to pointer size right before using the value as memory offset. Unfortunately, there are still cases left where we use 32-bit values for 64-bit operations, which can lead to subtle bugs. This CL hopefully fixes the last of these bugs. R=titzer@chromium.org Bug: v8:7257 Change-Id: I8d340f83ad17925c0d18d4e788350ef6101786ea Reviewed-on: https://chromium-review.googlesource.com/852299 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50409}
-
Ross McIlroy authored
Change-Id: I668a4ac9ce80daa1952b05fdee754db190f3fb3c Reviewed-on: https://chromium-review.googlesource.com/853866Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50408}
-
Clemens Hammacher authored
This prints nicer error messages for checks like "DCHECK_EQ(reg1, reg2)", and also splits cache state tracing into one method for printing the overall state, one for printing each slot, and one for printing the register. R=titzer@chromium.org Bug: v8:6600 Change-Id: I36e83ba2542986dd8ad17dbfe7cbb8df54a56755 Reviewed-on: https://chromium-review.googlesource.com/853495 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#50407}
-
Michal Majewski authored
Added simple system tests for different progress indicators. Bug: v8:6917 Change-Id: I906ddfd06e82cc19d3b2210e09457456be00309b Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Reviewed-on: https://chromium-review.googlesource.com/852495 Commit-Queue: Michał Majewski <majeski@google.com> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50406}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: I53b9de78d6070d04b7535c828fd72225fd93afde Reviewed-on: https://chromium-review.googlesource.com/829375Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#50405}
-
Clemens Hammacher authored
When generating code, store the vector of protected instruction data as unique_ptr. It only becomes a shared_ptr once ownership has been transferred to the NativeModule, because it can be shared between different instances of the same function. Drive-by: Remove dead accessor in PipelineData. R=ahaas@chromium.org Change-Id: I7571b32bf89f3c816683c5a77ac08fe8c22eb968 Reviewed-on: https://chromium-review.googlesource.com/853496Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#50404}
-
Clemens Hammacher authored
This is needed to ensure that code can be interrupted. It will be covered by a test once we support if-constructs in Liftoff. Drive-by: Separate handling of blocks and loops, as there is only one line in common. R=ahaas@chromium.org Bug: v8:6600 Change-Id: Ic22ca5e65c8d03a5d504289ec2a9e30cb97dc220 Reviewed-on: https://chromium-review.googlesource.com/853858 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50403}
-
Clemens Hammacher authored
The tests generated by --wasm-fuzzer-gen-test did not encode the locals of functions yet. This CL fixes that. A bit of care has to be taken to ensure that the locals are generated in exactly the same order as in the module generated by the fuzzer. This requires calling {addLocals} several times. R=ahaas@chromium.org Change-Id: I95237b0baef0731b6c164fddc8f12fa6f478e220 Reviewed-on: https://chromium-review.googlesource.com/848832 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50402}
-
Clemens Hammacher authored
This ensure that once features are added for other platform, we don't forget to implement all platform specific methods that are then being used. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I4cc948da280fdb63da1938edc6b391d180b88cad Reviewed-on: https://chromium-review.googlesource.com/853494 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#50401}
-