Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moe Sync #1332

Merged
merged 10 commits into from
Aug 20, 2019
Merged

Moe Sync #1332

merged 10 commits into from
Aug 20, 2019

Conversation

cpovirk
Copy link
Member

@cpovirk cpovirk commented Aug 20, 2019

This code has been reviewed and submitted internally. Feel free to discuss on the PR and we can submit follow-up changes as necessary.

Commits:

[core] Add support for ConcurrentHashMap in AbstractAsKeyOfSetOrMap

Fixes #1329

3503986


LiteProtoToString: provide a separate description and fix for enums.

24be5d0


s/override/overriding method/

Perhaps this is more clear?

3460a88


Support lambdas for @CompileTimeConstant

f5af8f1


Update checker to reflect current API name

f9dcad3


Improve performance of annotation scanning

The focal point here was SuppresionInfo.withExtendedSuppressions. This
method is called for every matcher at every AST node, so any expense
is greatly magnified. This commit caches the Name objects ahead of
time instead of looking them up each time. Additionally, ASTHelpers
has gained a method for testing a set of annotations in one go, so
clients don't have to call hasAnnotation many times.

The net result is that the method is around twice as fast as it was
before, saving us 1.1% of total javac time.

GOOGLE:
[]

5b6bc79


Cache the Name used in Matchers.hasAnnotation

This was a smaller performance win than I expected, only 0.18% of
javac time, but still better than the status quo.

GOOGLE:

[]

eeac0b0


Improve next/prev/last statement matches

948c852


Check for misuses of Collections.disjoint in CollectionIncompatibleType

as well as Sets.{union,disjoint}.

1e7caa0


Add bugpattern to discourage AtomicReference#compareAndSet with primitive types.

a83d037

blemale and others added 10 commits August 19, 2019 16:11
AbstractAsKeyOfSetOrMap

Fixes #1329

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263039480
Perhaps this is more clear?

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263117912
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263164929
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263392740
The focal point here was SuppresionInfo.withExtendedSuppressions. This
method is called for every matcher at every AST node, so any expense
is greatly magnified. This commit caches the Name objects ahead of
time instead of looking them up each time. Additionally, ASTHelpers
has gained a method for testing a set of annotations in one go, so
clients don't have to call hasAnnotation many times.

The net result is that the method is around twice as fast as it was
before, saving us 1.1% of total javac time.

GOOGLE:
[]

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263396675
This was a smaller performance win than I expected, only 0.18% of
javac time, but still better than the status quo.

GOOGLE:

[]

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263396751
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263486443
as well as Sets.{union,disjoint}.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263488994
…tive types.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=263523647
@googlebot
Copy link
Collaborator

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@cpovirk cpovirk merged commit 59704dd into master Aug 20, 2019
@cpovirk cpovirk deleted the sync-master-2019/08/19 branch August 20, 2019 14:28
@cpovirk cpovirk mentioned this pull request Aug 20, 2019
@cpovirk cpovirk added cla: yes and removed cla: no labels Aug 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants