- 24 Jan, 2020 16 commits
-
-
Al Muthanna Athamina authored
This CL attempts to remove the #undef check from the Presubmit for .cc files because we are removing Jumbo support. Bug: chromium:994387 Change-Id: I1bb6d22393c1b533f23dd586e5028ecc6d254c99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013119Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Almothana Athamneh <almuthanna@chromium.org> Cr-Commit-Position: refs/heads/master@{#65978}
-
Milad Farazmand authored
Port b110d480 Original Commit Message: This relands commit 009993ad. The fix is in liftoff-assembler-ia32.h, the codegen was incorrect. Original change's description: > Implement f32x4.splat and enable handling this in Liftoff. > > We add a new macro for defining test cases to run on TurboFan, Liftoff, > interpreter, and scalar lowering. > > Also add an assertion that the execution tier used is what we expected > it to be. This is useful for Liftoff, because by default it falls back > to TurboFan when it encounters an unimplemented opcode. > > Bug: v8:9909 R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I0fc54cd04379a6c65aa2bee64bf4cf9dad5b9636 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2019582Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#65977}
-
Clemens Backes authored
As these are simple methods, and for consistency with the GraphAssembler interface, the getters should not be capitalized. R=ecmziegler@chromium.org Bug: v8:10123 Change-Id: I51871115b061bca4483dc23e982303508d9d8f55 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017471 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65976}
-
Clemens Backes authored
This changes the WasmGraphBuilder to use the GraphAssembler for storing the current effect and control, instead of having separate fields. This will allow us to use GraphAssembler methods anywhere in the WasmGraphBuilder without first transferring the WasmGraphBuilder's effect and control to the GraphAssembler and storing it back afterwards. Some methods (StackCheck, BuildCallToRuntimeWithContext) have been changed to work on the current effect and control instead of receiving them as parameters. This is necessary to also use the GraphAssembler there, and it makes the code a bit easier. R=ecmziegler@chromium.org Bug: v8:10123 Change-Id: Ia9f6359cfe44a67a875c3eb0fe51f87db8bd17db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017470 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65975}
-
Michael Achenbach authored
Bug: v8:8292 Change-Id: Icbfb8cb0c4ba9cdb5a6c1cbec5e4c6e61c9d0d4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2019163Reviewed-by: Liviu Rau <liviurau@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65974}
-
Clemens Backes authored
TailCalls have no output effect, similarly to e.g. return nodes. Thus, don't put them in the effect chain. The current graph verifier does not complain about this, but once we switch to the GraphAssembler, we will hit a SLOW_DCHECK there because we are trying to use a node as effect which has no effect output. R=jkummerow@chromium.org Bug: v8:10070 Change-Id: I23d9516eb9bd42a5aca46b09ca74830eafce635c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017474 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65973}
-
Clemens Backes authored
We currently print asm.js functions converted to wasm as "function foo() { [native code] }", even though without asm to wasm translation we get the proper source code. This is an observable difference that should not be, and also foozzie finds this frequently in different variations. This CL makes us remember the start position (position of the "function" token) and end position (right behind the closing "}") of each function we transform to wasm. These offsets, together with the Script that contained the function, allows us to reconstruct the source code of the function for the {toString()} method. R=jkummerow@chromium.org Bug: chromium:667678 Change-Id: If22471cad4cefdfc67f6d1b8fda85aa0eeb411bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016582 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65972}
-
Liviu Rau authored
Bug: chromium:1033865 Change-Id: Id20517aa4a8a0bbc6e9cf593ce29504f16297e5d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017473Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Liviu Rau <liviurau@chromium.org> Cr-Commit-Position: refs/heads/master@{#65971}
-
Clemens Backes authored
The code did originally only handle the int32 case, but was then extended to all wasm types in https://crrev.com/c/1965577. The comments and variable names still mention the int32 type only though. This CL fixes that. R=ecmziegler@chromium.org Bug: v8:10070 Change-Id: I3b1fa4047ee7ee9f283dce3758f6b8a39c964b22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017723 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#65970}
-
Clemens Backes authored
This code is commented out since a long time (at least since 2008), but I found it to be useful information. Instead of printing the full script information, just print the {Brief} version. In a debugger, users can still print the full information based on the printed pointer value if needed. R=jkummerow@chromium.org Change-Id: I79b19f0bbc8797746b916c1f5860f727c0f0ac39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015240Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65969}
-
Clemens Backes authored
... and fix comments which I accidentally changed back to an old version in https://crrev.com/c/2011086/. R=jkummerow@chromium.org Bug: chromium:667678 Change-Id: I2a801d9775bd2362290c5d1caaf5b9e24a9bd54d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015241 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65968}
-
Emanuel Ziegler authored
R=jkummerow@chromium.org Bug: chromium:1043036 Change-Id: Idf44e21254a5d7131c4ec6e4c22fa4d4b25f617b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016590Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#65967}
-
Shu-yu Guo authored
Bug: v8:8179 Change-Id: I2e7024412216decc06e814e88eecd5b4eb5ae8cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013696Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#65966}
-
Shu-yu Guo authored
Bug: v8:8179 Change-Id: I3a41243b971d499d50e35c4782bff5b8b012f434 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013695 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#65965}
-
Johannes Henkel authored
This cleans up string-util.h a little. Instead of distinguishing BinaryStringBuffer from StringBufferImpl (which has a legacy ::adopt() interface), provide two functions for making StringBuffer from either an 8 bit (std::vector<uint8_t>) or a 16 bit (String16) source, and keep the classes in the .cc file only. Since it's easy enough, this adds a class also for the empty string buffer as there's no need to keep an empty vector / String16 this way. No public API changes here. Change-Id: Idb25fe24ea94f27f8001d552cede089e04eacd32 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016015Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65964}
-
Ng Zhi An authored
This relands commit 009993ad. The fix is in liftoff-assembler-ia32.h, the codegen was incorrect. Original change's description: > Implement f32x4.splat and enable handling this in Liftoff. > > We add a new macro for defining test cases to run on TurboFan, Liftoff, > interpreter, and scalar lowering. > > Also add an assertion that the execution tier used is what we expected > it to be. This is useful for Liftoff, because by default it falls back > to TurboFan when it encounters an unimplemented opcode. > > Bug: v8:9909 Bug: v8:9909 Change-Id: I7daacbe8b195d9212367190c515b0babbc457a88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2018043Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65963}
-
- 23 Jan, 2020 24 commits
-
-
Seth Brenith authored
This fixes an issue found by the upcoming change that verifies a match between 32-bit Torque output from a 32-bit build and 32-bit output from a 64-bit build: https://crrev.com/c/v8/v8/+/1998078 . 32-bit output never needs to deal with pointer compression. Bug: v8:10124 Change-Id: I0e04728dafc4118a8816a3afa98651dddea7a574 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2001460Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#65962}
-
Seth Brenith authored
This change adds support for the postmortem inspection library to show the content of cached external strings if that content is available. It also fixes a minor annoyance where strings with unavailable data would show up as "...". Now, if fetching the very first character fails, we omit the literal value from the output. Bug: v8:9376 Change-Id: Id694a774c231ab3467fb59b1c149284729acfb20 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987922Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#65961}
-
Clemens Backes authored
This reverts commit 5cfe053e. Reason for revert: "liftoff-simd-params" also fails on no-sse :/ Original change's description: > [wasm-simd][liftoff] Add S128 case for stack movements > > The two cases we are fixing here are Construct and > LoadCallerFrameSlot, which are closely related. > > Construct is called during PrepareCall, where we build up > LiftoffStackSlots when we need to move an arg from caller's stack frame > into callee's stack frame. LoadCallerFrameSlot is the parallel to > this, called in ProcessParameter during decoding of the callee's > function body. > > In most cases, Construct needs a new case to handle kWasmS128, and calls > the relevant assembler to push a s128 onto the stack. > > ARM64 requires 16-byte alignment of sp, so we need to Claim the right > number of kXRegSize slots first, which requires > us traversing the list of slots to figure out how many s128 values there > are. This is a straightforward way to fix this, if efficiency is a > problem, we can change LiftOffStackSlots::Add to sum up the slot sizes. > > On IA32, pushing s128 values will require 4 calls to push. Instead, we > use a sub and two movdqu, which will generate less code in most cases. > > On x64, there is no 128-bit push, so we call push twice. > > Bug: v8:9909 > Change-Id: I3af35b8462ea9c3b9b2d90800c37d11b5e95be59 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015945 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65956} TBR=clemensb@chromium.org,zhin@chromium.org,joey.gouly@arm.com Change-Id: Ib3c5a088e2d85baf1d8b143272844fb5ebb33c57 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017724Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65960}
-
Zhao Jiazhong authored
Port aa12b60b https://crrev.com/c/1980835 Change-Id: Idb82375e3bab94aed2b613d3f32e436fccb4fe53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2008982Reviewed-by: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Auto-Submit: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#65959}
-
Clemens Backes authored
This reverts commit 009993ad. Reason for revert: New test fails, see https://ci.chromium.org/p/v8/builders/ci/V8%20Linux/35534 and https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/23778 Original change's description: > [liftoff][wasm-simd] Implement f32x4.splat > > Implement f32x4.splat and enable handling this in Liftoff. > > We add a new macro for defining test cases to run on TurboFan, Liftoff, > interpreter, and scalar lowering. > > Also add an assertion that the execution tier used is what we expected > it to be. This is useful for Liftoff, because by default it falls back > to TurboFan when it encounters an unimplemented opcode. > > Bug: v8:9909 > Change-Id: I594955fce778173191fc44c38c4f956a05e77839 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2014753 > Commit-Queue: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65954} TBR=clemensb@chromium.org,zhin@chromium.org Change-Id: Ie6970a8c29baab149150dd734a95f89be5fd89ff No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9909 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2017722Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65958}
-
Ben Smith authored
The following instructions are affected: memory.init, data.drop, table.init, table.drop. A segment index should be decoded as an unsigned number, but these instructions were decoding as signed. This works properly up to 63, but fails at 64 (which is decoded as -64 = 4294967232). Bug: v8:10151 Change-Id: I742b74cf0bcadf2ff2f606beb65b7bae3e816530 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015960Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#65957}
-
Ng Zhi An authored
The two cases we are fixing here are Construct and LoadCallerFrameSlot, which are closely related. Construct is called during PrepareCall, where we build up LiftoffStackSlots when we need to move an arg from caller's stack frame into callee's stack frame. LoadCallerFrameSlot is the parallel to this, called in ProcessParameter during decoding of the callee's function body. In most cases, Construct needs a new case to handle kWasmS128, and calls the relevant assembler to push a s128 onto the stack. ARM64 requires 16-byte alignment of sp, so we need to Claim the right number of kXRegSize slots first, which requires us traversing the list of slots to figure out how many s128 values there are. This is a straightforward way to fix this, if efficiency is a problem, we can change LiftOffStackSlots::Add to sum up the slot sizes. On IA32, pushing s128 values will require 4 calls to push. Instead, we use a sub and two movdqu, which will generate less code in most cases. On x64, there is no 128-bit push, so we call push twice. Bug: v8:9909 Change-Id: I3af35b8462ea9c3b9b2d90800c37d11b5e95be59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015945 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65956}
-
Clemens Backes authored
The new name "IsWasmModuleObject" was introduced in https://crrev.com/c/2013109 and chrome switched to the new name in https://crrev.com/c/2016622. Thus, the old name can be deprecated for the 8.1 branch. R=adamk@chromium.org Bug: v8:10021 Change-Id: Ic09d4f8c9ae65ee855e3968f1c0814df0c97bb25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016584Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65955}
-
Ng Zhi An authored
Implement f32x4.splat and enable handling this in Liftoff. We add a new macro for defining test cases to run on TurboFan, Liftoff, interpreter, and scalar lowering. Also add an assertion that the execution tier used is what we expected it to be. This is useful for Liftoff, because by default it falls back to TurboFan when it encounters an unimplemented opcode. Bug: v8:9909 Change-Id: I594955fce778173191fc44c38c4f956a05e77839 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2014753 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65954}
-
Milad Farazmand authored
Port 7b79a02d Original Commit Message: This CL adds a --debug-in-liftoff flag, which takes another path in {WasmScript::SetBreakPointForFunction}, and sets the breakpoint via {wasm::DebugInfo} (Liftoff-related) instead of {WasmDebugInfo} (C++ interpreter related). Actual breakpoint support is not there yet, so the new test which sets this flag does not currently break anywhere. This will change with a future CL. R=clemensb@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I632e4c945c88f58d8caba8688356f66406bc04aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016915Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#65953}
-
Santiago Aboy Solanes authored
Change-Id: Ieabacfd183370ee09bcb6126e16fbf3135d48134 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011836Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65952}
-
Milad Farazmand authored
Change-Id: Id9f40ac278c5a25739b11d3af06de1f7052d1c67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015943Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#65951}
-
Dan Elphick authored
Load and store external references using the root register rather than generating a constant and dereferencing it. This typically uses 1 instruction rather than up to 4. Also adds external reference store optimisation for arm64. Bug: v8:7844 Change-Id: I5f73728e7a72e366a31bfb694581e2e7d8250947 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007270 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65950}
-
Jakob Gruber authored
Loop exits are marked automatically by the loop scope mechanism in combination with MergeState. Creating a LoopExitValue node explicitly created an invalid graph. Drive-by: Remove LoopExit{,Effect,Value} convenience methods. Bug: chromium:1044878,v8:9972 Change-Id: I6fb52a8463e5352b5a5b243f800a9eda47df9d5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016593 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65949}
-
Steve Blackburn authored
The TPH needs to support the idea of 'code' objects, and the ability to query whether an object is of this type. Bug: v8:9533 Change-Id: Ic36b235bd9640aa675a3ef0d8c3f6c98dd8cd862 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013116Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Steve Blackburn <steveblackburn@google.com> Cr-Commit-Position: refs/heads/master@{#65948}
-
Michael Achenbach authored
Bug: chromium:1044942 Change-Id: I7442d26c37b8f14886bfee0eb82c8c94a9aeeb85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016594Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65947}
-
Sami Kyostila authored
Remove trace id mangling since it's been deprecated (and is also being removed) in Chromium [1] and the actual id mangling operation was never implemented in V8's version. This patch doesn't introduce the upstream replacement (TRACE_ID_{LOCAL,GLOBAL}), since nothing in V8 needs it and it'll be shortly brought in with the transition to the Perfetto client library[2]. Bug: chromium:639003 [1] crbug.com/639003 [2] https://docs.google.com/document/d/1f7tt4cb-JcA5bQFR1oXk60ncJPpkL02_Hi_Bc6MfTQk/ Change-Id: Ifabda63b9c56918fafcc24dfc589b8e513a3f29b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016592 Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Auto-Submit: Sami Kyöstilä <skyostil@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#65946}
-
Mythri A authored
For CompareOperations, we only care about Null or Undefined feedback for oddballs. Other oddballs like Booleans should be treated as "Any" feedback. There was a bug in the way we handled feedback when lhs is undefined or null and rhs is anything other than JSReceiver. This cl fixes it by removing an unnecessary check. This fixes a deopt loop in TurboProp on maps benchmark. Bug: v8:9684 Change-Id: I6a09c4b5637bacdcd7f7f96e1afe603b6653c7c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016591Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#65945}
-
Santiago Aboy Solanes authored
Did some drive-by cleanups, like removing the Sloppy-ness Change-Id: Ia11ddc6752168ad10cad578bb8d839ab9b7473c8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2015021Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65944}
-
Clemens Backes authored
I hit a case where the 'V8_Dcheck' was only the sixth stack frame. Thus increase the limit from 5 to 7. R=ahaas@chromium.org No-Try: true Change-Id: I1ea37f07ff08ab5acffdfcc89d01ff102750a1e0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016589Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65943}
-
Clemens Backes authored
The NativeModule that was serialized in another isolate might be temporarily kept alive by background threads. By keeping a weak pointer to the module, we can wait for it to really die. This happens very rarely, and the module will die pretty quickly, so busy-waiting is fine in this case. R=thibaudm@chromium.org Bug: v8:10148 Change-Id: I8c4645acfccd04a820ef3f694cad3eb15e75acb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2016585Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65942}
-
Andreas Haas authored
The instruction selector assumed for Word32AtomicPairBinop nodes that if there exists a Projection(1) user, then there also exists a Projection(0) user. This, however, is not the case, because TurboFan eliminates unreachable nodes. The missing projection node lead to a failed DCHECK in the register allocator. With this CL we allocate the right registers for the existing projections, and allocate the other needed registers as temp registers. R=gdeepti@chromium.org Bug: v8:10140 Change-Id: I22331cae58f933e89dac6993fe3b21ff6502838a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011829Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#65941}
-
Johannes Henkel authored
Upstream Reviews: "Remove writeJSON / toJSONString from generated protocol types." https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/2013082 Also, remove builderAppendQuotedString from string-util.h in v8 since it's unused now and it relies on the jinja template code I'm deleting. "Upon encountering a byte that's unexpectedly not ..." https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/2013764 New Rev: a84e91f6696a0b76e1a73286c9c2765154de9889 Change-Id: I26805c47950d880b5be2cfb9bdcb41a3f51218b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013561Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65940}
-
Ng Zhi An authored
Bug: v8:10082 Change-Id: I5ade4269e70e09d0f98b51faf819163e736ae76b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1990507 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#65939}
-