- 28 May, 2020 1 commit
-
-
Nico Hartmann authored
This is a reland of 6204768b The original issue exposed the problem that NumberEqual performs implicit conversion of oddballs to numbers, which is incorrect for abstract equality comparison (i.e. 0 == null must not be true). This reland fixes this by applying the following steps: * Introduced a new kNumberOrBoolean value for CompareOperationFeedback, CompareOperationHint, TypeCheckKind and CheckedTaggedInputMode. * In CodeStubAssembler::Equal: Further distinguish between boolean and non-boolean oddballs and set feedback accoringly. * In JSTypedLowering: Construct [Speculative]NumberEqual operator with CompareOperationHint::kNumberOrBoolean, when this feedback is present. JSOperatorBuilder and operator cache are extended accordingly. * In SimplifiedLowering: Propagate a UseInfo with new TypeCheckKind::kNumberOrBoolean. * This leads to the generation of CheckedTaggedToFloat64 in RepresentationChanger with new CheckedTaggedInputMode::kNumberOrBoolean. * In EffectControlLinearizer: Handle this new mode. Accept and convert number and boolean and deopt for rest. Original change's description: > [turbofan] Improve equality on NumberOrOddball > > This CL cleans up CompareOperationFeedback by replacing it with a > composable set of flags. The interpreter is changed to collect > more specific feedback for abstract equality, especially if oddballs > are involved. > > TurboFan is changed to construct SpeculativeNumberEqual operator > instead of the generic JSEqual in many more cases. This change has > shown a local speedup of a factor of 3-10, because the specific > operator is way faster than calling into the generic builtin, but > it also enables additional optimizations, further improving > runtime performance. > > Bug: v8:5660 > Change-Id: I856752caa707e9a4f742c6e7a9c75552fb431d28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162854 > Reviewed-by: Mythri Alle <mythria@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67645} TBR: tebbi@chromium.org Bug: v8:5660 Change-Id: I12e733149a1d2773cafb781a1d4b10aa1eb242a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2193713 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68037}
-
- 26 May, 2020 1 commit
-
-
Victor Gomes authored
This CL is a step towards reversing JS stack arguments for TurboFan. It does the following: 1. Add StackOrder to CallInterfaceDescriptor 2. Reverse arguments in TF backend for JS calls. 3. Cleanup TFJ builtins interface descriptors, since calls for these builtins already reverse the arguments, we don't need to reverse the interface descriptor anymore. Change-Id: Ie840b1757bf023aa381a7fa01cbe66e7cf90778f Bug: v8:10201 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2213440Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#67971}
-
- 08 May, 2020 1 commit
-
-
Nico Hartmann authored
This reverts commit 6204768b. Reason for revert: A number of Clusterfuzz reports (e.g. https://bugs.chromium.org/p/chromium/issues/detail?id=1079474) Original change's description: > [turbofan] Improve equality on NumberOrOddball > > This CL cleans up CompareOperationFeedback by replacing it with a > composable set of flags. The interpreter is changed to collect > more specific feedback for abstract equality, especially if oddballs > are involved. > > TurboFan is changed to construct SpeculativeNumberEqual operator > instead of the generic JSEqual in many more cases. This change has > shown a local speedup of a factor of 3-10, because the specific > operator is way faster than calling into the generic builtin, but > it also enables additional optimizations, further improving > runtime performance. > > Bug: v8:5660 > Change-Id: I856752caa707e9a4f742c6e7a9c75552fb431d28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162854 > Reviewed-by: Mythri Alle <mythria@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67645} TBR=rmcilroy@chromium.org,neis@chromium.org,mythria@chromium.org,nicohartmann@chromium.org Change-Id: I3410310ed2b1ff2eaee70c1b91c3151d35866108 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5660 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190414Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67673}
-
- 07 May, 2020 1 commit
-
-
Nico Hartmann authored
This CL cleans up CompareOperationFeedback by replacing it with a composable set of flags. The interpreter is changed to collect more specific feedback for abstract equality, especially if oddballs are involved. TurboFan is changed to construct SpeculativeNumberEqual operator instead of the generic JSEqual in many more cases. This change has shown a local speedup of a factor of 3-10, because the specific operator is way faster than calling into the generic builtin, but it also enables additional optimizations, further improving runtime performance. Bug: v8:5660 Change-Id: I856752caa707e9a4f742c6e7a9c75552fb431d28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2162854Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67645}
-
- 23 Apr, 2020 1 commit
-
-
Bill Budge authored
- Use the new builtin to convert f32 to Number, rather than changing to f64, then calling f64 to Number. Bug: v8:10070 Change-Id: I9a0660af8f5e517c2c6691d57d665b7e6316a51b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2111714 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67342}
-
- 21 Apr, 2020 1 commit
-
-
Bill Budge authored
- Adds builtins to convert between Int32/Float64 and JS Number. - WasmInt32ToHeapNumber (bypass SMI test) - WasmFloat64ToNumber - Adds builtins to convert between Tagged and Int32/Float64. - WasmTaggedNonSmiToInt32 (bypass SMI test) - WasmTaggedToFloat64 - Uses these builtins in Wasm import and export wrappers instead of generating the equivalent code inline. Results of running Wasm/import-export-wrappers.js Benchmark: https://docs.google.com/document/d/1QIB0xnqdJFRsOJKQYZ8DZgzWn4WysybgugbcO0sYcQA/edit?usp=sharing NOTE: CL will need to be rebased after linkage fix lands. Bug: v8:10070 Change-Id: Ib34507fcd18bdf80938b5707310a5a4f76cdec72 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2099445Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#67292}
-
- 10 Mar, 2020 1 commit
-
-
Victor Gomes authored
The arguments order in a JS stack is now controlled by V8_REVERSE_JSARGS macro. This CL creates two stubs that allow the order of the arguments to be reversed without changing CallStub. Bug: v8:10201 Change-Id: I8f70adf3ced1f45a00f5c4ddd47d5f604f2d3100 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093506 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66647}
-
- 25 Feb, 2020 1 commit
-
-
Dan Elphick authored
Makes RoundIntPtrToFloat64 return TNode<Float64T> instead of Node*. Bug: v8:10155 Change-Id: I1edd5456b2b86b264b66eeab5e46ceb2a1f0170f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064978 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66421}
-
- 18 Feb, 2020 1 commit
-
-
Georg Neis authored
... in favor of CodeAssembler's ScopedExceptionHandler. Also remove unused exception arguments from some iterator related methods. Bug: v8:10187 Change-Id: I8eb7dfd4eb339e4f566970efa5757c3771926ba6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2060496 Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66306}
-
- 17 Feb, 2020 2 commits
-
-
Santiago Aboy Solanes authored
Bug: v8:6949, v8:10155 Change-Id: I0113efe2d4d3a462533c306a87ebee851b1cb85c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2056853Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66286}
-
Santiago Aboy Solanes authored
Bug: v8:6949, v8:10155 Change-Id: Iafd6b8172a67fa1b778d163259fe8d1400b004f3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2056847Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66282}
-
- 14 Feb, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Bug: v8:6949, v8:10155 Change-Id: Id170bafa2a5085bee6ff5b3cff8084254c67e113 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2056846Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66275}
-
- 07 Feb, 2020 2 commits
-
-
Igor Sheludko authored
Bug: v8:10047 Change-Id: I140fcf453ce7dd6189e0f643f95570163b625456 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043831 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#66173}
-
Igor Sheludko authored
... a Smi-looking type containing properly sign-extended int31 integer. The idea is to use this kind of tagged integers for the cases where the value is guaranteed to fit into int31. For example, feedback vector slots is one of the candidates for using TaggedIndex representation. Bug: v8:10047 Change-Id: Ifaa2978a5d42467578ff243dc44d327536efbe93 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1960292Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#66170}
-
- 10 Jan, 2020 1 commit
-
-
Nico Hartmann authored
Many binary operations defiend in CodeAssembler check for constants in the inputs and apply simplification if applicable. This is now performed by the MachineOperatorReducer in a uniform way. To avoid code duplication, the premature optimizations in CodeAssembler have been removed in this CL. Bug: v8:10021 Change-Id: I9b99f05e4f9ab31ff933f22d62674ee80efee8ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1995277Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65707}
-
- 20 Dec, 2019 1 commit
-
-
Tobias Tebbi authored
This is a reland of 53308bf7 Original change's description: > [csa] use JSGraph to create constants in CodeAssembler > > Now that CodeAssembler uses optimizing TurboFan passes, creating > constants without using the caching implemented in JSGraph leads to > problems, since value numbering only works properly if all constants > in the graph were introduced through the cache. > To mitigate this, this CL creates the JSGraph earlier so that > CodeAssembler can already use the same JSGraph used by later TurboFan > optimizations. > For other uses of RawMachineAssembler, everything stays as before. > > This issue is creating bot failures in > https://chromium-review.googlesource.com/c/v8/v8/+/1958011 > > Change-Id: Ife017876b19cb2602694279ef1da75f23e18a031 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967329 > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65477} TBR=mslekova@chromium.org Change-Id: I5c8218ce22470b3efa06d872176c910a4c5325a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1977858Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65537}
-
- 17 Dec, 2019 2 commits
-
-
Clemens Backes authored
This reverts commit 53308bf7. Reason for revert: Fails on multiple arm bots, e.g. https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/12441 Original change's description: > [csa] use JSGraph to create constants in CodeAssembler > > Now that CodeAssembler uses optimizing TurboFan passes, creating > constants without using the caching implemented in JSGraph leads to > problems, since value numbering only works properly if all constants > in the graph were introduced through the cache. > To mitigate this, this CL creates the JSGraph earlier so that > CodeAssembler can already use the same JSGraph used by later TurboFan > optimizations. > For other uses of RawMachineAssembler, everything stays as before. > > This issue is creating bot failures in > https://chromium-review.googlesource.com/c/v8/v8/+/1958011 > > Change-Id: Ife017876b19cb2602694279ef1da75f23e18a031 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967329 > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65477} TBR=tebbi@chromium.org,mslekova@chromium.org Change-Id: I6df6782adfb40632f51681942efab9b591f72cab No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1969901Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#65483}
-
Tobias Tebbi authored
Now that CodeAssembler uses optimizing TurboFan passes, creating constants without using the caching implemented in JSGraph leads to problems, since value numbering only works properly if all constants in the graph were introduced through the cache. To mitigate this, this CL creates the JSGraph earlier so that CodeAssembler can already use the same JSGraph used by later TurboFan optimizations. For other uses of RawMachineAssembler, everything stays as before. This issue is creating bot failures in https://chromium-review.googlesource.com/c/v8/v8/+/1958011 Change-Id: Ife017876b19cb2602694279ef1da75f23e18a031 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1967329Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65477}
-
- 11 Dec, 2019 1 commit
-
-
Jakob Kummerow authored
Found by combining dcheck_always_on with is_ubsan on x64. Change-Id: Ie9bcf2402693aa3752be17421dd485533656df08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1962271Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65417}
-
- 28 Nov, 2019 2 commits
-
-
Michael Starzinger authored
R=tebbi@chromium.org BUG=v8:10021 Change-Id: I39052fa22ea90b392a36e7841f8586c19c8ca9cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940156 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65229}
-
Michael Starzinger authored
This removes the aforementioned untyped method and switches all users to the typed TNode<> version. Those versions now contain proper checks to compare the static information against the return count and types stored in the call descriptor. R=leszeks@chromium.org BUG=v8:10021 Change-Id: I393ea6211babc100e007fb1678877d36efa7bbf7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1939753Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#65225}
-
- 20 Nov, 2019 1 commit
-
-
Jakob Kummerow authored
They have to be in sync, so this patch updates both systems. Bug: v8:4153 Change-Id: I09252e41a710e79f823fe6818c1c6c0038faeb31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903434Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#65078}
-
- 08 Nov, 2019 1 commit
-
-
Clemens Backes authored
{WhichPowerOf2} is basically the same as {CountTrailingZeros}, with a restriction to powers of two. Since it does not use or depend on any v8 internals, it can be moved to src/base/bits.h. This CL also changes the implementation to use the CTZ builtin if available, and falls back to popcnt otherwise. Drive-by: Make it constexpr, and rename to {WhichPowerOfTwo}. R=sigurds@chromium.org Bug: v8:9810, v8:8912 Change-Id: I8368d098f9ab1247f3b9f036f1385a38de10cc6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903966Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64851}
-
- 04 Nov, 2019 1 commit
-
-
Michael Starzinger authored
Now that embedded builtins are mandatory and non-embedded builtins no longer need to be supported, it is safe to embed the target of the CEntry builtin directly into WebAssembly runtime stubs. This produces more efficient code and simplifies the runtime stubs. R=clemensb@chromium.org Change-Id: If2f91fa733edc266af3a204ac17ff36e4c0b41a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895567 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64739}
-
- 31 Oct, 2019 1 commit
-
-
Tobias Tebbi authored
Add information to CallInterfaceDescriptor if additional implicit arguments can be passed on the stack, that is, if it is a varargs calling convention. With this information, we can have a proper DCHECK in CSA to avoid passing the wrong number of arguments to builtins that don't support it. Previously, this lead to difficult to investigate crashes with misaligned stacks. Drive-by cleanup: Reduce duplication between DEFINE_PARAMETERS_... macros. Change-Id: I449af6713a3cdd72e098d3481dfee62e01343f14 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1888932Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64666}
-
- 17 Oct, 2019 1 commit
-
-
Milad Farazmand authored
The calling conventions on AIX uses function descriptors, which means that pointers to functions do not point to code, but instead point to metadata about them. When calling JITed code, we must assure to use function descriptors instead of raw pointers when needed. Before this CL 213504b9, all CallCFunction on AIX were guaranteed to have function descriptors. Starting form the CL mentioned above, CallCFunction can also Jump to a Trampoline which does not have a function descriptor, hence a new "CallCFunctionWithoutFunctionDescriptor" method is proposed to deal with this issue. BUG= v8:9766 Change-Id: I9343c31c812f5d4dda8503a5adf024b24dbde072 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825961 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64357}
-
- 13 Sep, 2019 1 commit
-
-
Igor Sheludko authored
... and from AccessorAssembler::LoadGlobalIC(). Tbr: tebbi@chromium.org Bug: v8:9708 Change-Id: Ia7d2ab30cfcfd513257655eb30a466d929ac774a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1801853 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63759}
-
- 10 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
Since we switched to C++14 now, we can use {std::make_unique} instead of our own {base::make_unique} from {template-utils.h}. R=mstarzinger@chromium.org, yangguo@chromium.org Bug: v8:9687 No-Try: true Change-Id: I660eb30038bbb079cee93c7861cd87ccd134f01b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1789300 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63642}
-
- 09 Sep, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Also TNodified context in interpreter-intrinsics-generator.cc Bug: v8:6949 Change-Id: Ia5d5b4dd61aa83592f1c7e1b502f34504cb25dbd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1784918 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63615}
-
- 05 Sep, 2019 2 commits
-
-
Santiago Aboy Solanes authored
TNodified: * code-assembler * TailCallBytecodeDispatch * interpreter-assembler * GetContextAtDepth * ExportParametersAndRegisterFile * ImportRegisterFile * Dispatch * DispatchToBytecode * DispatchToBytecodeHandlerEntry * DispatchWide * return type of Jump (Jumps are coming in another CL) * LoadBytecode Removed DispatchToBytecodeHandler since it was unused. Removed target_bytecode parameter of DispatchToBytecodeHandlerEntry since it was unused. Bug: v8:6949 Change-Id: Icd3ded28cc1fd1dc528219dd83cf646e67c9b878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782838 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63577}
-
Santiago Aboy Solanes authored
TNodify related methods: * BytecodeArrayTaggedPointer * DispatchTablePointer (renamed from DispatchTableRawPointer) * GetAccumulatorUnchecked SloppyTNodify SetAccumulator's argument. Marking some tests as slow, due to TNodification. Bug: v8:6949 Change-Id: I3a56c47247828ec1313ce69ce76064efedf57776 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1782162Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#63573}
-
- 27 Aug, 2019 1 commit
-
-
Leszek Swirski authored
Using the tool again, the previous iteration accidentally ignored Node/TNode behind a typedef. Automatic replacement of types with manual cleanup/addition of CASTs where necessary. Bug: v8:9396 Change-Id: I33b6d229669cb80586d5d8e82c04542df671f0b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768367 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63409}
-
- 26 Aug, 2019 1 commit
-
-
Leszek Swirski authored
Forbid using LoadRoot in CSA (with a bailout via CodeAssembler), so that users are forced to use helper macros for roots, which have statically known types. Convert all current uses of LoadRoot to use these macros, introducing new ones where necessary. Bug: v8:9396 Change-Id: I91214fca6e5ace7554d79605706a8a60117468fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762526 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#63398}
-
- 23 Aug, 2019 1 commit
-
-
Leszek Swirski authored
Replace uses of WordEqual on two tagged representation nodes with a new TaggedEqual helper, which on pointer compressed configs only compares the bottom 32-bits of the word. We no longer allow using WordEqual on anything not known to be a WordT (i.e. Node* or TNode<Object>). In the future, this may allow us to ignore the top bits of an uncompressed Smi, and have simpler decompression, though this patch is not sufficient for such a change. As a necessary drive-by, TNodify a bunch of stuff. Bug: v8:8948 Change-Id: Ie11b70709e5d3073f12551b37b420a172a71bc99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763531 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#63372}
-
- 22 Aug, 2019 1 commit
-
-
Leszek Swirski authored
Automated cleanup which finds patterns of `Node* a = foo` where `foo` is a TNode expression, and replaces Node* with the appropriate TNode. Bug: v8:9396 Change-Id: I8b0cd9baf10e74d6e2e336eae62eca6cfe6a9c11 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762515 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63335}
-
- 21 Aug, 2019 1 commit
-
-
Andreas Haas authored
This CL was reviewed originally in https://crrev.com/c/1518181. Bug: v8:7741 Change-Id: Iddb139a24c4b9aee6694e20cb5d04e9f9887160c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752859 Auto-Submit: Sven Sauleau <sven@cloudflare.com> Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63321}
-
- 16 Aug, 2019 1 commit
-
-
Dan Elphick authored
Create a new function NewHeapNumberForCodeAssembler used only by CodeAssembler that allocates in read_only_space whenever it is writable (e.g. when constructing builtins). This can allocate in old_space for CSA tests that run after read_only_space is sealed. This move 512 bytes from old_space to read_only_space. Bug: v8:7464 Change-Id: I3e29b38a8c062fa74feed63ecf0d07625c04347f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752855 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63220}
-
- 12 Aug, 2019 1 commit
-
-
Jakob Gruber authored
This removes LoadStackPointer and its last remaining use in the interpreter assembler. Bug: v8:9534 Change-Id: I19aafb12c5fd50248841a3d92448e64243c723ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1748729 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63164}
-
- 26 Jul, 2019 1 commit
-
-
Georg Neis authored
... mostly by turning them into pointer arguments. After this CL, all remaining non-const reference arguments in the compiler directory are in the backend. Bug: v8:9429 Change-Id: I6a546da0fe93179e1a0b12296632591cbf209808 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1719185Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#62930}
-
- 12 Jul, 2019 1 commit
-
-
Michael Achenbach authored
This reverts commit a10a1a65. Reason: Huge test time regression, see https://crbug.com/v8/9402. Bug: v8:9402 Change-Id: Ia71309d255ed8d9c3e96a90cc5bf6cb3ad77beaf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1698400 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#62679}
-