Page MenuHomePhabricator

vsapsai (Volodymyr Sapsai)
User

Projects

User does not belong to any projects.

User Details

User Since
May 27 2014, 6:39 AM (331 w, 11 m)

Recent Activity

Thu, Sep 24

vsapsai added a reverting change for rGc4bacc3c9b33: [Modules] Add stats to measure performance of building and loading modules.: rG9eba6b20a057: Revert "[Modules] Add stats to measure performance of building and loading….
Thu, Sep 24, 12:38 PM
vsapsai committed rG9eba6b20a057: Revert "[Modules] Add stats to measure performance of building and loading… (authored by vsapsai).
Revert "[Modules] Add stats to measure performance of building and loading…
Thu, Sep 24, 12:38 PM
vsapsai added a reverting change for D86895: [Modules] Add stats to measure performance of building and loading modules.: rG9eba6b20a057: Revert "[Modules] Add stats to measure performance of building and loading….
Thu, Sep 24, 12:38 PM · Restricted Project, Restricted Project, Restricted Project
vsapsai added a comment to D86895: [Modules] Add stats to measure performance of building and loading modules..

Thanks for the reviews!

Thu, Sep 24, 12:28 PM · Restricted Project, Restricted Project, Restricted Project
vsapsai committed rGc4bacc3c9b33: [Modules] Add stats to measure performance of building and loading modules. (authored by vsapsai).
[Modules] Add stats to measure performance of building and loading modules.
Thu, Sep 24, 12:24 PM
vsapsai closed D86895: [Modules] Add stats to measure performance of building and loading modules..
Thu, Sep 24, 12:24 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Sep 22

vsapsai added a comment to D86895: [Modules] Add stats to measure performance of building and loading modules..

Where is the test?

Tue, Sep 22, 11:29 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Sep 17

vsapsai updated the diff for D86895: [Modules] Add stats to measure performance of building and loading modules..

Tweak stats' names and descriptions.

Thu, Sep 17, 4:27 PM · Restricted Project, Restricted Project, Restricted Project
vsapsai planned changes to D86895: [Modules] Add stats to measure performance of building and loading modules..
Thu, Sep 17, 1:24 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Sep 16

vsapsai accepted D82118: [clang][module] Improve incomplete-umbrella warning.

Looks good to me. I would wait a few days before committing in case other reviewers have comments but not too long as you can address extra comments post-commit.

Wed, Sep 16, 6:05 PM · Restricted Project

Mon, Sep 14

vsapsai added a comment to D82118: [clang][module] Improve incomplete-umbrella warning.

Noticed that the warning and the fix-it might not work well with pragmas suppressing diagnostic and with header guards. But it's not a regression and I don't think it is worth improving these use cases preemptively.

Mon, Sep 14, 6:54 PM · Restricted Project

Fri, Sep 11

vsapsai added a project to D86896: [Modules] Add a small test suite to measure modules' performance.: Restricted Project.
Fri, Sep 11, 6:10 PM · Restricted Project
vsapsai updated subscribers of D86895: [Modules] Add stats to measure performance of building and loading modules..
Fri, Sep 11, 6:09 PM · Restricted Project, Restricted Project, Restricted Project
vsapsai added a project to D86895: [Modules] Add stats to measure performance of building and loading modules.: Restricted Project.
Fri, Sep 11, 6:09 PM · Restricted Project, Restricted Project, Restricted Project
vsapsai updated subscribers of D86895: [Modules] Add stats to measure performance of building and loading modules..
Fri, Sep 11, 6:08 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Sep 1

vsapsai added a comment to D86896: [Modules] Add a small test suite to measure modules' performance..

Here is a live view-stats.py http://45.56.107.93:9000/ It will be up for some time. I'll add some screenshots for the case when this preview goes down.

Tue, Sep 1, 11:06 AM · Restricted Project

Mon, Aug 31

vsapsai requested review of D86896: [Modules] Add a small test suite to measure modules' performance..
Mon, Aug 31, 2:58 PM · Restricted Project
vsapsai requested review of D86895: [Modules] Add stats to measure performance of building and loading modules..
Mon, Aug 31, 2:57 PM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2020

vsapsai added a comment to D84458: [Modules] Improve error message when cannot find parent module for submodule definition..

Thanks for the review.

Aug 25 2020, 4:33 PM · Restricted Project
vsapsai committed rG8839e278ffca: [Modules] Improve error message when cannot find parent module for submodule… (authored by vsapsai).
[Modules] Improve error message when cannot find parent module for submodule…
Aug 25 2020, 4:32 PM
vsapsai closed D84458: [Modules] Improve error message when cannot find parent module for submodule definition..
Aug 25 2020, 4:31 PM · Restricted Project
vsapsai updated the diff for D84458: [Modules] Improve error message when cannot find parent module for submodule definition..

Tweak the error text.

Aug 25 2020, 12:30 PM · Restricted Project

Aug 20 2020

vsapsai committed rG7ac737e56bee: [HeaderSearch] Fix processing #import-ed headers multiple times with modules… (authored by vsapsai).
[HeaderSearch] Fix processing #import-ed headers multiple times with modules…
Aug 20 2020, 5:42 PM
vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Thanks for the review.

Aug 20 2020, 5:42 PM · Restricted Project
vsapsai closed D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..
Aug 20 2020, 5:42 PM · Restricted Project

Aug 14 2020

vsapsai added a comment to D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.

Overall, looks like a reasonable approach to solve inode reuse. The problem with filenames is that they might not be canonicalized and the same file can be known by different filenames. I'm trying to think through the consequences in the following scenarios:

  • same name but file content has changed;
  • different names but refer to the same file.
Aug 14 2020, 11:19 AM · Restricted Project

Aug 12 2020

vsapsai added a comment to D84458: [Modules] Improve error message when cannot find parent module for submodule definition..

Ping.

Aug 12 2020, 6:17 PM · Restricted Project
vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Ping.

Aug 12 2020, 6:17 PM · Restricted Project

Aug 6 2020

vsapsai added a comment to D84458: [Modules] Improve error message when cannot find parent module for submodule definition..

Ping.

Aug 6 2020, 11:03 AM · Restricted Project
vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Ping.

Aug 6 2020, 11:02 AM · Restricted Project

Jul 30 2020

vsapsai updated the diff for D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Rebased the change to make sure it still works.

Jul 30 2020, 1:44 PM · Restricted Project
vsapsai abandoned D70141: Make `print` behave in Python 2 as in Python 3..
Jul 30 2020, 12:45 PM

Jul 23 2020

vsapsai added inline comments to D84458: [Modules] Improve error message when cannot find parent module for submodule definition..
Jul 23 2020, 12:57 PM · Restricted Project
Herald added a project to D84458: [Modules] Improve error message when cannot find parent module for submodule definition.: Restricted Project.
Jul 23 2020, 12:53 PM · Restricted Project

Jul 22 2020

vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Ping.

Jul 22 2020, 3:56 PM · Restricted Project

Jul 17 2020

vsapsai added a comment to D82118: [clang][module] Improve incomplete-umbrella warning.

Didn't get into details but overall GenModuleActionWrapper approach looks pretty complicated. Haven't tried to accomplish the same myself, so cannot say if such complexity is warranted or not.

Yes the approach is complicated. But one thing to note is that the GenModuleActionWrapper-related facilities are upstreamed from apple/llvm-project. I adopted this approach just because it was available. Haven't explored other ways, but yes there might be a simpler approach.

My concern about this approach is that it doesn't seem to be composable and propagating specific frontend actions to building modules looks ad-hoc and error-prone. Specifically, from the composition perspective what should we do when both indexing and fix-it are enabled? We can claim they should be mutually exclusive but don't know if it is applicable in general case. From the perspective of propagating other frontend actions to building modules I'm wondering if we need to have custom handling for other actions or not. Personally, I haven't checked that yet.

Jul 17 2020, 6:14 PM · Restricted Project

Jul 15 2020

vsapsai added a comment to D82118: [clang][module] Improve incomplete-umbrella warning.

Didn't get into details but overall GenModuleActionWrapper approach looks pretty complicated. Haven't tried to accomplish the same myself, so cannot say if such complexity is warranted or not. What happens with fixits in modules when you don't have GenModuleActionWrapper? How does it work with modules disabled? Also looks like there are no tests for incomplete umbrella warning when modules are disabled.

Jul 15 2020, 1:39 PM · Restricted Project

Jul 14 2020

vsapsai committed rG3f1e3f8825c0: [modules] Allow frameworks to have only a private module without a public one. (authored by vsapsai).
[modules] Allow frameworks to have only a private module without a public one.
Jul 14 2020, 4:30 PM
vsapsai committed rG77b656bfcded: [modules] Do not cache invalid state for modules that we attempted to load. (authored by vsapsai).
[modules] Do not cache invalid state for modules that we attempted to load.
Jul 14 2020, 4:14 PM
vsapsai added a reverting change for rG0a2be46cfdb6: Modules: Invalidate out-of-date PCMs as they're discovered: rG77b656bfcded: [modules] Do not cache invalid state for modules that we attempted to load..
Jul 14 2020, 4:14 PM

Jul 9 2020

vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Ping.

Jul 9 2020, 12:01 PM · Restricted Project

Jul 1 2020

vsapsai accepted D82847: [CMAKE] Fix 'clean' target not working.

With this change ninja clean works without errors for me (also regular ninja, ninja install). Approving from the functional perspective only, don't know CMake good enough to say if it can benefit from any improvements.

Jul 1 2020, 12:26 PM · Restricted Project

Jun 29 2020

vsapsai added a comment to D79400: [CMAKE] Fix build failure when source directory is read only.

Seems like this change causes ninja clean to fail with the error

Jun 29 2020, 8:24 PM · Restricted Project, Restricted Project
vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Ping.

Jun 29 2020, 12:28 PM · Restricted Project

Jun 9 2020

vsapsai added a comment to D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..

Also suggested clang-format linter changes make the test useless as the order of imports is important.

Jun 9 2020, 1:14 PM · Restricted Project

May 29 2020

vsapsai committed rG03559c684a9b: [diagtool] Install diagtool when LLVM_INSTALL_TOOLCHAIN_ONLY is ON. (authored by vsapsai).
[diagtool] Install diagtool when LLVM_INSTALL_TOOLCHAIN_ONLY is ON.
May 29 2020, 4:26 PM
vsapsai added a comment to D80770: [diagtool] Install diagtool when LLVM_INSTALL_TOOLCHAIN_ONLY is ON..

Thanks for the review, Jonas!

May 29 2020, 4:26 PM · Restricted Project
vsapsai closed D80770: [diagtool] Install diagtool when LLVM_INSTALL_TOOLCHAIN_ONLY is ON..
May 29 2020, 4:26 PM · Restricted Project

May 28 2020

vsapsai created D80770: [diagtool] Install diagtool when LLVM_INSTALL_TOOLCHAIN_ONLY is ON..
May 28 2020, 5:38 PM · Restricted Project

May 20 2020

vsapsai added a comment to D75323: Support relative dest paths in headermap files.

There is nothing in header maps preventing from using relative paths. For example, I was able to run one of the tests with relative paths like

May 20 2020, 12:02 PM · Restricted Project

May 19 2020

vsapsai created D80263: [HeaderSearch] Fix processing #import-ed headers multiple times with modules enabled..
May 19 2020, 6:11 PM · Restricted Project
vsapsai added a comment to D75323: Support relative dest paths in headermap files.

The issue with this change is that it claims to add functionality that exists already. I.e., the test is passing without the change. The confusing part might be that even if DirectoryLookup::LookupFile doesn't find a file for relative destination immediately, it updates MappedName which is used by HeaderSearch::LookupFile. And I haven't tested it but looks like the change violates that header search paths are tested in order. So when we have -I A -I B.hmap -I C instead of processing A, B.hmap, C in that order, we can end up with A, B.hmap, A, B.hmap, C.

May 19 2020, 1:43 PM · Restricted Project

May 14 2020

vsapsai committed rG6a3469f58d0c: [ObjC] Add compatibility mode for type checking of qualified id block… (authored by vsapsai).
[ObjC] Add compatibility mode for type checking of qualified id block…
May 14 2020, 12:31 PM
vsapsai closed D79511: [ObjC] Add compatibility mode for type checking of qualified id block parameters..
May 14 2020, 12:31 PM · Restricted Project
vsapsai added a comment to D79511: [ObjC] Add compatibility mode for type checking of qualified id block parameters..

Thanks everyone for reviews.

May 14 2020, 12:30 PM · Restricted Project

May 13 2020

vsapsai updated the diff for D79511: [ObjC] Add compatibility mode for type checking of qualified id block parameters..

Squash the commits, so that reviewers can review the entire change.

May 13 2020, 3:16 PM · Restricted Project

May 12 2020

vsapsai updated the diff for D79511: [ObjC] Add compatibility mode for type checking of qualified id block parameters..

Make compatibility mode accept correct types per James' Y Knight helpful suggestion.

May 12 2020, 3:38 PM · Restricted Project

May 6 2020

vsapsai added inline comments to D79511: [ObjC] Add compatibility mode for type checking of qualified id block parameters..
May 6 2020, 5:04 PM · Restricted Project
vsapsai added a comment to D66831: [ObjC] Fix type checking for qualified id block parameters..

Patch for the suggested compatibility flag is available at https://reviews.llvm.org/D79511

May 6 2020, 12:25 PM · Restricted Project
vsapsai created D79511: [ObjC] Add compatibility mode for type checking of qualified id block parameters..
May 6 2020, 12:25 PM · Restricted Project

May 4 2020

vsapsai added a comment to D66831: [ObjC] Fix type checking for qualified id block parameters..

Agree that is a mistake in NSItemProvider API. The solution I offer is not to revert the change but to add cc1 flag -fcompatibility-qualified-id-block-type-checking and to make the driver for Darwin platforms to add this flag. Thus developers using Apple SDKs will see the old behavior and won't need to change their code. While everybody else will use clang with correct type checking. If any other platforms provide APIs relying on the old type checking, the solution for them is to tweak the driver.

May 4 2020, 5:13 PM · Restricted Project

Apr 24 2020

vsapsai committed rG65f58878e72a: [ObjC generics] Fix not inheriting type bounds in categories/extensions. (authored by vsapsai).
[ObjC generics] Fix not inheriting type bounds in categories/extensions.
Apr 24 2020, 4:50 PM

Apr 16 2020

vsapsai added inline comments to D73763: [DSE] Lift post-dominance restriction..
Apr 16 2020, 12:50 PM · Restricted Project

Apr 10 2020

vsapsai added a comment to rGbef187c75090: Implement `-fsanitize-coverage-whitelist` and `-fsanitize-coverage-blacklist`….

The added test fails on macOS. For example, in http://green.lab.llvm.org/green/job/clang-stage1-RA/8611/

Apr 10 2020, 5:47 PM

Apr 7 2020

vsapsai committed rG8fb7cfcea97a: Revert "[ObjC generics] Fix not inheriting type bounds in categories/extensions. (authored by vsapsai).
Revert "[ObjC generics] Fix not inheriting type bounds in categories/extensions.
Apr 7 2020, 6:00 PM
vsapsai added a reverting change for rGa8c8b627f23f: [ObjC generics] Fix not inheriting type bounds in categories/extensions.: rG8fb7cfcea97a: Revert "[ObjC generics] Fix not inheriting type bounds in categories/extensions..
Apr 7 2020, 6:00 PM

Apr 3 2020

vsapsai committed rGa8c8b627f23f: [ObjC generics] Fix not inheriting type bounds in categories/extensions. (authored by vsapsai).
[ObjC generics] Fix not inheriting type bounds in categories/extensions.
Apr 3 2020, 4:49 PM
vsapsai closed D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..
Apr 3 2020, 4:49 PM · Restricted Project
vsapsai added a comment to D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..

Thanks for the review.

Apr 3 2020, 4:49 PM · Restricted Project

Mar 31 2020

vsapsai added a comment to D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..

Ping.

Mar 31 2020, 10:52 AM · Restricted Project

Mar 27 2020

vsapsai added a comment to D66831: [ObjC] Fix type checking for qualified id block parameters..

There should be no error for blockWithParam = genericBlockWithParam; because blockWithParam is called with I * and it is safe to substitute genericBlockWithParam. Basically you have

Mar 27 2020, 11:28 AM · Restricted Project

Mar 16 2020

vsapsai created D76264: [ObjC generics] Fix missing protocols on type parameter for unparameterized generics..
Mar 16 2020, 8:12 PM · Restricted Project

Mar 12 2020

vsapsai added a comment to D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..

Ping.

Mar 12 2020, 2:39 PM · Restricted Project

Mar 6 2020

vsapsai added a comment to D75323: Support relative dest paths in headermap files.

What use case are you trying to support? Currently the added test headermap_relpath.cpp is passing without the changes to HeaderSearch.cpp, so it's not entirely clear what problem it should address.

Mar 6 2020, 5:06 PM · Restricted Project

Mar 5 2020

vsapsai added inline comments to D72860: [modules] Do not cache invalid state for modules that we attempted to load..
Mar 5 2020, 8:11 PM · Restricted Project

Mar 4 2020

vsapsai added inline comments to D72860: [modules] Do not cache invalid state for modules that we attempted to load..
Mar 4 2020, 4:20 PM · Restricted Project

Mar 3 2020

vsapsai added a comment to D66831: [ObjC] Fix type checking for qualified id block parameters..

Thanks for that explanation; that makes sense. Do you think that the @interface J : I would also ideally be an error then?

Mar 3 2020, 11:57 AM · Restricted Project

Mar 2 2020

vsapsai added a comment to D66831: [ObjC] Fix type checking for qualified id block parameters..

I'm not very familiar with Objective-C semantics. Does saying @interface J : I <Q> mean we're overriding the conformance being specified by @interface I <P>? In that case, the Clang 10 error makes sense to me.

Mar 2 2020, 5:48 PM · Restricted Project

Feb 28 2020

vsapsai committed rG4069dd14124e: [modules] Allow frameworks to have only a private module without a public one. (authored by vsapsai).
[modules] Allow frameworks to have only a private module without a public one.
Feb 28 2020, 3:49 PM
vsapsai closed D75311: [modules] Allow frameworks to have only a private module without a public one..
Feb 28 2020, 3:48 PM · Restricted Project

Feb 27 2020

vsapsai added a comment to D75311: [modules] Allow frameworks to have only a private module without a public one..

Looks like other module-related tracking like LoadedModuleMaps, DirectoryHasModuleMap works without extra changes. And ModuleMapParser relies on a file name to decide if a module map is private or not, so the presence of a public module map doesn't matter for it.

Feb 27 2020, 4:11 PM · Restricted Project
vsapsai created D75311: [modules] Allow frameworks to have only a private module without a public one..
Feb 27 2020, 4:11 PM · Restricted Project
vsapsai added a comment to D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..

Ping.

Feb 27 2020, 4:11 PM · Restricted Project

Feb 21 2020

vsapsai updated the diff for D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..
  • Fix some clang-format checks. Ignore the check to add a space between a generic name and its type parameters as it's not the style the rest of the header uses and not what Apple SDK headers are using.
Feb 21 2020, 3:07 PM · Restricted Project
vsapsai added a comment to D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..

[...snip...]
Thanks! I applied the patch and was able to build large parts of Chromium without any problems.

Feb 21 2020, 2:48 PM · Restricted Project
vsapsai committed rGa6c8698924d2: clang/Modules: Finish renaming CompilerInstance::ModuleManager, NFC. (authored by vsapsai).
clang/Modules: Finish renaming CompilerInstance::ModuleManager, NFC.
Feb 21 2020, 2:02 PM
vsapsai closed D74939: clang/Modules: Finish renaming CompilerInstance::ModuleManager, NFC..
Feb 21 2020, 2:02 PM · Restricted Project

Feb 20 2020

vsapsai created D74939: clang/Modules: Finish renaming CompilerInstance::ModuleManager, NFC..
Feb 20 2020, 5:50 PM · Restricted Project
vsapsai added inline comments to D74746: [clang][doxygen] Fix -Wdocumentation warning for tag typedefs.
Feb 20 2020, 11:15 AM · Restricted Project

Feb 11 2020

vsapsai added a comment to D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..

I don't have the context here. Was I added as a subscriber because it's related to the clang 10 release?

Feb 11 2020, 11:28 AM · Restricted Project

Jan 17 2020

vsapsai updated subscribers of D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..
Jan 17 2020, 12:47 PM · Restricted Project

Jan 16 2020

vsapsai added a reverting change for rG0a2be46cfdb6: Modules: Invalidate out-of-date PCMs as they're discovered: rG83f4c3af021c: [modules] Do not cache invalid state for modules that we attempted to load..
Jan 16 2020, 5:20 PM
vsapsai committed rG83f4c3af021c: [modules] Do not cache invalid state for modules that we attempted to load. (authored by vsapsai).
[modules] Do not cache invalid state for modules that we attempted to load.
Jan 16 2020, 5:20 PM
vsapsai closed D72860: [modules] Do not cache invalid state for modules that we attempted to load..
Jan 16 2020, 5:19 PM · Restricted Project
vsapsai created D72872: [ObjC generics] Fix not inheriting type bounds in categories/extensions..
Jan 16 2020, 1:26 PM · Restricted Project
vsapsai added a comment to D72860: [modules] Do not cache invalid state for modules that we attempted to load..

Anecdotal build time measurements before and after the change. First row is a clean build, subsequent rows are incremental builds.

Jan 16 2020, 12:18 PM · Restricted Project
vsapsai created D72860: [modules] Do not cache invalid state for modules that we attempted to load..
Jan 16 2020, 11:58 AM · Restricted Project

Jan 13 2020

vsapsai added a comment to D71734: [Modules] Handle tag types and complain about bad merges in C/Objective-C mode.

Think I'll need to make another review pass but here are my comments so far:

  • Why are you adding ODR hash support for RecordDecl and not TagDecl? We already have support for EnumDecl, so TagDecl seems like a good candidate to cover both. Honestly, I don't know if it is possible or a good idea but it looks plausible enough to consider.
  • Are anonymous structs working? Worth adding test cases.
  • Are unions working? Didn't notice any code specifically for them but RecordDecl covers both structs and unions, so they should be working and we need to test that.
  • Few testing additions. These cases might be already covered or might be low value, so take these suggestions with a grain of salt:
    • test self-referential structs like struct Node { struct Node *next; };
    • test comparing structs and forward declarations, e.g., struct S; and struct S { ... };, and another couple struct S { ... }; and struct S; struct S { ... }; The motivation is to make sure we aren't stumped when we cannot find struct definition or when the definition is in unexpected place.
Jan 13 2020, 4:03 PM · Restricted Project

Dec 12 2019

vsapsai abandoned D69817: Fix OrcError build with modules enabled..

The bot is green now.

Dec 12 2019, 3:58 PM · Restricted Project
vsapsai committed rG011e40489d96: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift (authored by vsapsai).
Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift
Dec 12 2019, 2:58 PM