Page MenuHomePhabricator

xiaobai (Alex Langford)
:3

Projects

User does not belong to any projects.

User Details

User Since
Mar 21 2017, 11:50 AM (184 w, 20 h)

Recent Activity

May 26 2020

xiaobai updated the diff for D79752: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables.

Rebase

May 26 2020, 6:33 PM · Restricted Project
xiaobai committed rG1079978b3c50: [lldb][Core] Remove dead codepath in Mangled (authored by xiaobai).
[lldb][Core] Remove dead codepath in Mangled
May 26 2020, 5:28 PM
xiaobai closed D79823: [lldb][Core] Remove dead codepath in Mangled.
May 26 2020, 5:28 PM · Restricted Project

May 12 2020

xiaobai added a comment to D79823: [lldb][Core] Remove dead codepath in Mangled.

I'm curious what happens if you end up here with something like _T. Did you check?

May 12 2020, 5:48 PM · Restricted Project
xiaobai created D79823: [lldb][Core] Remove dead codepath in Mangled.
May 12 2020, 4:42 PM · Restricted Project

May 11 2020

xiaobai created D79752: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables.
May 11 2020, 4:12 PM · Restricted Project

Mar 27 2020

xiaobai added a comment to D76945: [lldb/CMake] Make check-lldb-* work for the standalone build..

we need to build our own and tell LLVM to use it

To clarify, this means we'd be building our own llvm-lit and using that just for the LLDB test suite, correct?

Yep, should I reword the comment?

Mar 27 2020, 3:27 PM · Restricted Project
xiaobai added a comment to D76945: [lldb/CMake] Make check-lldb-* work for the standalone build..

we need to build our own and tell LLVM to use it

Mar 27 2020, 2:52 PM · Restricted Project

Mar 9 2020

xiaobai accepted D75848: [lldb] Make UnwindLLDB a non-plugin.

Thanks for doing this. LGTM, might want to wait for Jason's approval like Jonas said though.

Mar 9 2020, 11:19 AM · Restricted Project

Mar 5 2020

xiaobai accepted D75680: [lldb] Delete UnwindMacOSXFrameBackchain.

LGTM. If UnwindLLDB is the unwinder, that makes things a little easier for plugin separation.

Mar 5 2020, 12:39 PM · Restricted Project

Mar 3 2020

xiaobai committed rGe566dd733d64: [lldb] Delete some commented out code in ClangASTSource.cpp (authored by xiaobai).
[lldb] Delete some commented out code in ClangASTSource.cpp
Mar 3 2020, 1:48 PM
xiaobai added a comment to D75562: Add an opque payload field to lldb::Type (NFC)..

Thanks for working to make LLDB more language-agnostic!

Mar 3 2020, 1:47 PM · Restricted Project

Mar 2 2020

xiaobai added a comment to D73016: [lldb/CMake] Make it possible to disable plugins at configuration time.

I like the idea! The one thing that kind of bothers me about this is you can inadvertently break your build without realizing by disabling a plugin that some enabled plugins depend on. Hopefully one day we'll be able to improve the diagnostics around this.

Mar 2 2020, 10:41 AM · Restricted Project

Feb 7 2020

xiaobai accepted D74245: [lldb/Plugins] Use external functions to (de)initialize plugins.

I like where this is going!

Feb 7 2020, 12:54 PM · Restricted Project

Feb 6 2020

xiaobai added inline comments to D74187: [lldb] Add method Language::IsMangledName.
Feb 6 2020, 11:01 PM · Restricted Project
xiaobai added a comment to D74187: [lldb] Add method Language::IsMangledName.

I uploaded this patch primarily to get some feedback on possible alternatives because I'm not happy creating a dependency from Core to Target here. Suggestions welcome!

Feb 6 2020, 5:35 PM · Restricted Project
xiaobai created D74187: [lldb] Add method Language::IsMangledName.
Feb 6 2020, 5:29 PM · Restricted Project

Feb 4 2020

xiaobai committed rGfc0ba63f8691: [lldb] Rename Type::ResolveClangType to Type::ResolveCompilerType (authored by xiaobai).
[lldb] Rename Type::ResolveClangType to Type::ResolveCompilerType
Feb 4 2020, 3:46 PM
xiaobai committed rG48b8e3be51c7: [lldb] Delete commented-out code (authored by xiaobai).
[lldb] Delete commented-out code
Feb 4 2020, 3:37 PM
xiaobai committed rG8b79bed0f3c9: [lldb] Remove unused references to ClangExpressionDeclMap (authored by xiaobai).
[lldb] Remove unused references to ClangExpressionDeclMap
Feb 4 2020, 2:51 PM
xiaobai committed rG7c9ebdd3d6ae: [lldb] Remove clang classes from lldb-forward.h (authored by xiaobai).
[lldb] Remove clang classes from lldb-forward.h
Feb 4 2020, 2:33 PM
xiaobai closed D73935: [lldb] Remove clang classes from lldb-forward.h.
Feb 4 2020, 2:32 PM · Restricted Project

Feb 3 2020

xiaobai created D73935: [lldb] Remove clang classes from lldb-forward.h.
Feb 3 2020, 4:03 PM · Restricted Project
xiaobai committed rG3014efe07198: [lldb] Remove unused parameter from ValueObject::GetExpressionPath (authored by xiaobai).
[lldb] Remove unused parameter from ValueObject::GetExpressionPath
Feb 3 2020, 11:01 AM
xiaobai committed rG5b0c8dd3a4fd: [lldb] Delete ClangForward.h (authored by xiaobai).
[lldb] Delete ClangForward.h
Feb 3 2020, 10:51 AM
xiaobai closed D73827: [lldb] Delete ClangForward.h.
Feb 3 2020, 10:51 AM · Restricted Project

Jan 31 2020

xiaobai created D73827: [lldb] Delete ClangForward.h.
Jan 31 2020, 11:19 PM · Restricted Project
xiaobai committed rG2637769b9f38: [lldb] Remove LanguageRuntime::GetOverrideExprOptions (authored by xiaobai).
[lldb] Remove LanguageRuntime::GetOverrideExprOptions
Jan 31 2020, 10:14 PM
xiaobai committed rG8e36d24fca9f: [lldb] Remove unused CPPLanguageRuntime dependency (authored by xiaobai).
[lldb] Remove unused CPPLanguageRuntime dependency
Jan 31 2020, 3:30 PM
xiaobai committed rG8be30215feef: [lldb] Move clang-based files out of Symbol (authored by xiaobai).
[lldb] Move clang-based files out of Symbol
Jan 31 2020, 12:26 PM
xiaobai closed D73661: [lldb] Move clang-based files out of Symbol.
Jan 31 2020, 12:26 PM · Restricted Project

Jan 30 2020

xiaobai committed rG381e81a048f8: [lldb][NFCI] Remove UserExpression::GetJITModule (authored by xiaobai).
[lldb][NFCI] Remove UserExpression::GetJITModule
Jan 30 2020, 11:29 PM
xiaobai committed rG22b044877d23: [lldb][NFCI] Remove unused LanguageType parameters (authored by xiaobai).
[lldb][NFCI] Remove unused LanguageType parameters
Jan 30 2020, 10:23 PM
xiaobai committed rG31905c2bbb80: [lldb][NFCI] Delete commented out code (authored by xiaobai).
[lldb][NFCI] Delete commented out code
Jan 30 2020, 6:14 PM
xiaobai committed rGe1451a724de7: [lldb][NFCI] Rename variable in ValueObject (authored by xiaobai).
[lldb][NFCI] Rename variable in ValueObject
Jan 30 2020, 5:00 PM
xiaobai added inline comments to D73517: [lldb] Delete ValueObject::GetBaseClassPath.
Jan 30 2020, 4:50 PM · Restricted Project
xiaobai updated the diff for D73661: [lldb] Move clang-based files out of Symbol.

Move TypeSystemClang into its own plugin

Jan 30 2020, 2:44 PM · Restricted Project
xiaobai added a comment to D73661: [lldb] Move clang-based files out of Symbol.

I think this is a big milestone. Thanks for working on this.

The main question I have is about the new location of this code. This patch puts it under ExpressionParser/Clang, which is not completely unreasonable, as that's where most of the clang stuff is. However, it does create some awkward-looking (to me) dependencies, or even loops (SymbolFileDWARF<->ExpressionParserClang). Also the dep from data formatters in Language/CPLusPlus on ExpressionParser/Clang is odd, because the data formatters don't actually use/need expressions do to their work.

So, as much as I hate proliferating plugins, I have to ask this question: Should this be a new plugin kind (TypeSystem/Clang) instead ? The name of the class, and the presence of the Initialize function already seem to indicate that. And it seems to me like this would create a reasonable dependency graph between the various plugins. TypeSystemClang would be at the bottom of this. The various SymbolFile plugins would depend on it, because they generate clang ASTs. ExpressionParserClang would depend on it because it pulls the generated ASTs that way. The same goes for the data formatters. But there would be no dependency between SymbolFiles and expression parsers or data formatters, because the former should just provide the ast (and not care about who the consumer is) and the latter should consume it (regardless of the source).

I think this ExpressionParser vs. TypeSystem would also make sense in terms of the outgoing dependencies. The type system should depend +/- only on clangAST, whereas the expression parser would need pretty much the whole clang.

WDYT?

Jan 30 2020, 1:06 PM · Restricted Project
xiaobai committed rGeffa0bc868b0: [libc++abi] Bump PACKAGE_VERSION (authored by xiaobai).
[libc++abi] Bump PACKAGE_VERSION
Jan 30 2020, 12:22 PM

Jan 29 2020

xiaobai created D73661: [lldb] Move clang-based files out of Symbol.
Jan 29 2020, 1:03 PM · Restricted Project

Jan 28 2020

xiaobai committed rG71b022ee55d4: [lldb] Remove unused header from ValueObject.cpp (authored by xiaobai).
[lldb] Remove unused header from ValueObject.cpp
Jan 28 2020, 4:16 PM
xiaobai committed rG5eaf44f99f0a: [lldb] Delete ValueObject::GetBaseClassPath (authored by xiaobai).
[lldb] Delete ValueObject::GetBaseClassPath
Jan 28 2020, 2:16 PM
xiaobai closed D73517: [lldb] Delete ValueObject::GetBaseClassPath.
Jan 28 2020, 2:15 PM · Restricted Project
xiaobai closed D69820: [Symbol] Add TypeSystem::GetClassName.

Made obsolete by D73517

Jan 28 2020, 2:15 PM · Restricted Project
xiaobai closed D72946: [lldb] Remove ClangASTImporter reference from Target.

Commit c4f6fbe971351273b19a4a819bf6ceae2b70b37e

Jan 28 2020, 2:06 PM · Restricted Project
xiaobai committed rGc4f6fbe97135: [lldb] Remove ClangASTImporter from Target (authored by xiaobai).
[lldb] Remove ClangASTImporter from Target
Jan 28 2020, 1:55 PM

Jan 27 2020

xiaobai updated the diff for D72946: [lldb] Remove ClangASTImporter reference from Target.

Sort headers via clang-format

Jan 27 2020, 8:02 PM · Restricted Project
xiaobai added a comment to D73517: [lldb] Delete ValueObject::GetBaseClassPath.

Note: This makes D69820 unnecessary so I will close that if this goes through.

Jan 27 2020, 6:04 PM · Restricted Project
xiaobai created D73517: [lldb] Delete ValueObject::GetBaseClassPath.
Jan 27 2020, 6:02 PM · Restricted Project

Jan 23 2020

xiaobai updated the summary of D72946: [lldb] Remove ClangASTImporter reference from Target.
Jan 23 2020, 1:52 PM · Restricted Project
xiaobai updated the diff for D72946: [lldb] Remove ClangASTImporter reference from Target.

Implement @teemperor's suggestion

Jan 23 2020, 1:52 PM · Restricted Project

Jan 21 2020

xiaobai accepted D73121: [lldb/Initializers] Move all ObjC initializers into AppleObjCRuntime.
Jan 21 2020, 8:25 PM · Restricted Project

Jan 17 2020

xiaobai added a comment to D72946: [lldb] Remove ClangASTImporter reference from Target.

I wish we could do this without a global map. Also the ClangASTImporter shouldn't have a dependency on Target (I'm actually surprised this compiles without an additional include).

I'm not sure where the perfect place for the Target's ClangASTImporter is, but putting it in the ClangPersistentVariables would solve your problem of getting it out of Target and doesn't need a global map. Also in general the ClangASTImporter of the Target is used for copying stuff to the scratch context, so having it in the ClangPersistentVariables makes some sense.

Jan 17 2020, 3:58 PM · Restricted Project
xiaobai created D72946: [lldb] Remove ClangASTImporter reference from Target.
Jan 17 2020, 12:18 PM · Restricted Project

Jan 16 2020

xiaobai committed rG9dbd395b9b8b: [lldb] Remove ClangASTContext.h inclusion in Target.cpp (authored by xiaobai).
[lldb] Remove ClangASTContext.h inclusion in Target.cpp
Jan 16 2020, 10:53 PM
xiaobai accepted D72684: [lldb][NFC] Rename ClangASTContext to TypeSystemClang.
Jan 16 2020, 12:56 PM · Restricted Project

Jan 14 2020

xiaobai added a comment to D72684: [lldb][NFC] Rename ClangASTContext to TypeSystemClang.

We might also want to move these into lldb/source/Plugins/TypeSystem as well to complete this refactor?

Jan 14 2020, 1:19 PM · Restricted Project
xiaobai added a comment to D72684: [lldb][NFC] Rename ClangASTContext to TypeSystemClang.

I like this idea quite a bit, but have no preference for ClangTypeSystem or TypeSystemClang. +1 from me.

Jan 14 2020, 11:02 AM · Restricted Project

Jan 13 2020

xiaobai committed rG6d57511e0b6f: [lldb-server] Prefer target_include_directories (authored by xiaobai).
[lldb-server] Prefer target_include_directories
Jan 13 2020, 2:58 PM
xiaobai added a comment to D69820: [Symbol] Add TypeSystem::GetClassName.

Let me know what everyone thinks of adding a "fully_qualified" argument to the TypeSystem::GetClassName()?

Jan 13 2020, 12:00 PM · Restricted Project
xiaobai committed rG2bb154591fab: [lldb-server] Remove dead CMake code (authored by xiaobai).
[lldb-server] Remove dead CMake code
Jan 13 2020, 11:50 AM

Jan 10 2020

xiaobai updated the diff for D69820: [Symbol] Add TypeSystem::GetClassName.

Rebase

Jan 10 2020, 3:31 PM · Restricted Project
xiaobai accepted D72541: [lldb/Utils] Remove vim-lldb.

The only things that have touched vim-lldb in the past 5-6 years have been the result of repository-wide changes (e.g. reformatting, documentation changes, python compatability and version transitions, etc).

Jan 10 2020, 2:16 PM · Restricted Project

Jan 8 2020

xiaobai committed rGa63af915288a: [lldb] Remove various dead Compare functions (authored by xiaobai).
[lldb] Remove various dead Compare functions
Jan 8 2020, 6:33 PM

Jan 2 2020

xiaobai added a comment to D72107: [lldb/CMake] Autodetect Python dependency.

Do you mean forcing LLDB_ENABLE_PYTHON to on so that it fails in case the logic changes and Python isn't found?

Jan 2 2020, 2:13 PM · Restricted Project
xiaobai added a comment to D72107: [lldb/CMake] Autodetect Python dependency.

It's nice to consolidate the logic into one place. I think you will probably need to make an appropriate change on the buildbot side as well (if you haven't done that already).

Jan 2 2020, 2:00 PM · Restricted Project

Dec 23 2019

xiaobai committed rG187f66bcac66: [lldb/CMake] Always set a value for find_package when finding optional… (authored by xiaobai).
[lldb/CMake] Always set a value for find_package when finding optional…
Dec 23 2019, 1:40 PM

Dec 17 2019

xiaobai committed rGb3f789e037cb: [perf-training] Change profile file pattern string to use %4m instead of %p (authored by xinxinw1).
[perf-training] Change profile file pattern string to use %4m instead of %p
Dec 17 2019, 12:23 PM
xiaobai closed D71585: [perf-training] Change profile file pattern string to use %4m instead of %p.
Dec 17 2019, 12:23 PM · Restricted Project
xiaobai added a reviewer for D71585: [perf-training] Change profile file pattern string to use %4m instead of %p: vsk.

Adding @vsk since he added the code that you're referencing in your summary.

Dec 17 2019, 10:44 AM · Restricted Project

Dec 16 2019

xiaobai committed rGd6777207b4fd: [llvm/runtimes] Add runtimes as a dependency of clang-bootstrap-deps (authored by xinxinw1).
[llvm/runtimes] Add runtimes as a dependency of clang-bootstrap-deps
Dec 16 2019, 5:03 PM
xiaobai closed D71430: [llvm/runtimes] Add runtimes as a dependency of clang-bootstrap-deps.
Dec 16 2019, 5:03 PM · Restricted Project
xiaobai committed rGf5bbe387e885: [llvm] Add llvm-lipo dependency to runtimes (authored by xinxinw1).
[llvm] Add llvm-lipo dependency to runtimes
Dec 16 2019, 4:07 PM
xiaobai closed D71429: [llvm] Add llvm-lipo dependency to runtimes.
Dec 16 2019, 4:07 PM · Restricted Project
xiaobai committed rG3fbe518a102a: [lldb] Respect previously set values of LLDB_TABLEGEN_EXE (authored by xiaobai).
[lldb] Respect previously set values of LLDB_TABLEGEN_EXE
Dec 16 2019, 2:39 PM

Dec 12 2019

xiaobai committed rG3031818a2e9f: [Target] Remove Target::GetScratchClangASTContext (authored by xiaobai).
[Target] Remove Target::GetScratchClangASTContext
Dec 12 2019, 3:55 PM
xiaobai committed rG44d12bcc4471: Replace last uses of llvm::index_sequence{,_for} (authored by xiaobai).
Replace last uses of llvm::index_sequence{,_for}
Dec 12 2019, 2:33 PM
xiaobai committed rG48837a3a4450: Remove merge marker (authored by xiaobai).
Remove merge marker
Dec 12 2019, 2:32 PM
xiaobai closed D64844: [Target] Remove Target::GetScratchClangASTContext.
Dec 12 2019, 12:03 PM · Restricted Project
xiaobai added a comment to D64844: [Target] Remove Target::GetScratchClangASTContext.

Landed as commit 3031818a2e9fca1e53cd882ccfcc3718699991b4

Dec 12 2019, 12:03 PM · Restricted Project

Dec 11 2019

xiaobai added a comment to D71306: [RFC] Change how we deal with optional dependencies.

I personally prefer the third approach. To make sure I understand correctly, I'll write it in my own words so you can correct me if I misunderstood.
Try to find the dependency, and if we find it then use it. If not, then we can print out something like "Didn't find DEPENDENCY" and continue on our merry way. If the user overwrites the values and something goes wrong, send a fatal error and tell them that what the value they set isn't going to work without further work (e.g. explicitly enable python support but didn't find python? tell the user that you couldn't find python and maybe suggest setting some other CMake variables to help CMake find python).

How exactly does this "overwriting" work? Could you point me to the code that does this? I don't remember seeing anything like this, but the llvm build is not entirely consistent either, so it's possible we're looking at different things...

Dec 11 2019, 10:39 AM · Restricted Project

Dec 10 2019

xiaobai added a comment to D71306: [RFC] Change how we deal with optional dependencies.

I personally prefer the third approach. To make sure I understand correctly, I'll write it in my own words so you can correct me if I misunderstood.
Try to find the dependency, and if we find it then use it. If not, then we can print out something like "Didn't find DEPENDENCY" and continue on our merry way. If the user overwrites the values and something goes wrong, send a fatal error and tell them that what the value they set isn't going to work without further work (e.g. explicitly enable python support but didn't find python? tell the user that you couldn't find python and maybe suggest setting some other CMake variables to help CMake find python).

Dec 10 2019, 3:38 PM · Restricted Project
xiaobai updated the diff for D69820: [Symbol] Add TypeSystem::GetClassName.

Add fixme

Dec 10 2019, 11:42 AM · Restricted Project

Dec 9 2019

xiaobai added inline comments to D71237: [FormatEntity] Add mangled function name support.
Dec 9 2019, 5:16 PM · Restricted Project
xiaobai added inline comments to D71234: [lldb/Lua] Implement a Simple Lua Script Interpreter Prototype.
Dec 9 2019, 5:07 PM · Restricted Project
xiaobai added a comment to D71232: [lldb/Lua] Add Boilerplate for a Lua Script Interpreter.

I'm really excited to see where this goes! :D

Dec 9 2019, 5:07 PM · Restricted Project
xiaobai added inline comments to D69820: [Symbol] Add TypeSystem::GetClassName.
Dec 9 2019, 5:01 PM · Restricted Project
xiaobai updated the diff for D69820: [Symbol] Add TypeSystem::GetClassName.

Address feedback from @teemperor

Dec 9 2019, 4:43 PM · Restricted Project
xiaobai added a comment to D64844: [Target] Remove Target::GetScratchClangASTContext.

ping @jingham @teemperor any issues with this going in? I'd like to land this soon.

Dec 9 2019, 1:40 PM · Restricted Project
xiaobai updated the diff for D64844: [Target] Remove Target::GetScratchClangASTContext.

Rebase

Dec 9 2019, 1:40 PM · Restricted Project

Nov 14 2019

xiaobai updated the diff for D64844: [Target] Remove Target::GetScratchClangASTContext.

Rebased
Moved this change to the monorepo layout
Moved ClangASTContext::GetScratch to the ClangASTContext header

Nov 14 2019, 2:54 PM · Restricted Project

Nov 11 2019

xiaobai accepted D70074: [lldb][NFC] Remove unused CompilerType::IsPossibleCPlusPlusDynamicType.
Nov 11 2019, 10:31 AM · Restricted Project

Nov 6 2019

xiaobai committed rGa6b5daa701d3: [test] Fix apple_simulator_test decorator when simulators are unavailable (authored by xiaobai).
[test] Fix apple_simulator_test decorator when simulators are unavailable
Nov 6 2019, 3:15 PM

Nov 5 2019

xiaobai committed rG40f3d1307cfd: [TestMTCSimple] Disable the test if you don't have libMTC (authored by xiaobai).
[TestMTCSimple] Disable the test if you don't have libMTC
Nov 5 2019, 2:20 PM

Nov 4 2019

xiaobai created D69820: [Symbol] Add TypeSystem::GetClassName.
Nov 4 2019, 1:00 PM · Restricted Project

Oct 31 2019

xiaobai committed rGdb542455dc0f: [Symbol] Change ClangASTContext::GetCXXClassName return type (authored by xiaobai).
[Symbol] Change ClangASTContext::GetCXXClassName return type
Oct 31 2019, 12:06 PM
xiaobai closed D69641: [Symbol] Change ClangASTContext::GetCXXClassName return type.
Oct 31 2019, 12:06 PM · Restricted Project

Oct 30 2019

xiaobai updated the diff for D69641: [Symbol] Change ClangASTContext::GetCXXClassName return type.

Use llvm::Optional

Oct 30 2019, 3:27 PM · Restricted Project
xiaobai added a comment to D69641: [Symbol] Change ClangASTContext::GetCXXClassName return type.

Could this return an Optional<std::string> or Expected<std::string>? It's not clear from a std::string return value that the method can fail and it will return an empty string on error.

Oct 30 2019, 2:12 PM · Restricted Project
xiaobai created D69641: [Symbol] Change ClangASTContext::GetCXXClassName return type.
Oct 30 2019, 2:02 PM · Restricted Project