Page MenuHomePhabricator

jingham (Jim Ingham)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 23 2014, 5:24 PM (233 w, 6 d)

Recent Activity

Wed, Mar 13

jingham added a comment to D59314: Fix an invalid static cast in ClangExpressionParser.cpp.

Also naming quibble...

Wed, Mar 13, 12:29 PM · Restricted Project
jingham added a comment to D59314: Fix an invalid static cast in ClangExpressionParser.cpp.

I think you have to protect against your dyn_cast failing.

Wed, Mar 13, 11:46 AM · Restricted Project

Tue, Mar 12

jingham committed rGe62366bf1e57: This test is failing on and off on the bots. Disable it for now till I can… (authored by jingham).
This test is failing on and off on the bots. Disable it for now till I can…
Tue, Mar 12, 4:18 PM
jingham committed rL355992: This test is failing on and off on the bots. .
This test is failing on and off on the bots.
Tue, Mar 12, 4:17 PM
jingham committed rLLDB355992: This test is failing on and off on the bots. .
This test is failing on and off on the bots.
Tue, Mar 12, 4:17 PM
jingham committed rG027bf7603fc7: Check the result of creating a node from __next_ in the std::list formatter. (authored by jingham).
Check the result of creating a node from __next_ in the std::list formatter.
Tue, Mar 12, 12:28 PM
jingham committed rLLDB355957: Check the result of creating a node from __next_ in the std::list formatter..
Check the result of creating a node from __next_ in the std::list formatter.
Tue, Mar 12, 12:27 PM
jingham committed rL355957: Check the result of creating a node from __next_ in the std::list formatter..
Check the result of creating a node from __next_ in the std::list formatter.
Tue, Mar 12, 12:27 PM
jingham committed rG2ca0ebf6b432: Re-enable this test, the underlying bug was fixed and the test now passes. (authored by jingham).
Re-enable this test, the underlying bug was fixed and the test now passes.
Tue, Mar 12, 12:25 PM
jingham committed rLLDB355956: Re-enable this test, the underlying bug was fixed and the test now passes..
Re-enable this test, the underlying bug was fixed and the test now passes.
Tue, Mar 12, 12:24 PM
jingham committed rL355956: Re-enable this test, the underlying bug was fixed and the test now passes..
Re-enable this test, the underlying bug was fixed and the test now passes.
Tue, Mar 12, 12:24 PM
jingham committed rG85c2955f455e: Fix the project for r355939 (ASTUtils.{h,c}) (authored by jingham).
Fix the project for r355939 (ASTUtils.{h,c})
Tue, Mar 12, 11:48 AM
jingham committed rL355951: Fix the project for r355939 (ASTUtils.{h,c}).
Fix the project for r355939 (ASTUtils.{h,c})
Tue, Mar 12, 11:48 AM
jingham committed rLLDB355951: Fix the project for r355939 (ASTUtils.{h,c}).
Fix the project for r355939 (ASTUtils.{h,c})
Tue, Mar 12, 11:48 AM

Mon, Mar 11

jingham added a comment to D59158: Break cycle lldb/Commands [3->] lldb/Expression [1->] lldb/Commands.

It's a little weird that the CommandObjectExpression is telling the REPL what its options should be, it would be more natural to go the other way. Maybe have the repl_sp provide a properly set up set of EvaluateExpressionOptions and then copy them over to this CommandObjectExpression execution?

Mon, Mar 11, 2:50 PM · Restricted Project, Restricted Project

Wed, Mar 6

jingham committed rG798174455f4f: Fix Cmake files for ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp. (authored by jingham).
Fix Cmake files for ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.
Wed, Mar 6, 2:53 PM
jingham committed rLLDB355561: Fix Cmake files for ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp..
Fix Cmake files for ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.
Wed, Mar 6, 2:52 PM
jingham committed rL355561: Fix Cmake files for ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp..
Fix Cmake files for ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.
Wed, Mar 6, 2:52 PM
jingham committed rGea401ec7f402: Factor the clang specific parts of ExpressionSourceCode.{h,cpp} into the clang… (authored by jingham).
Factor the clang specific parts of ExpressionSourceCode.{h,cpp} into the clang…
Wed, Mar 6, 2:45 PM
jingham committed rL355560: Factor the clang specific parts of ExpressionSourceCode.{h,cpp} into the clang….
Factor the clang specific parts of ExpressionSourceCode.{h,cpp} into the clang…
Wed, Mar 6, 2:45 PM
jingham committed rLLDB355560: Factor the clang specific parts of ExpressionSourceCode.{h,cpp} into the clang….
Factor the clang specific parts of ExpressionSourceCode.{h,cpp} into the clang…
Wed, Mar 6, 2:44 PM
jingham closed D59040: Move ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.
Wed, Mar 6, 2:44 PM · Restricted Project
jingham added a comment to D59040: Move ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.

I want to keep this commit simple so I'm leaving Adrian's substantial comments for a future commit.

Wed, Mar 6, 2:39 PM · Restricted Project
jingham added a comment to D59040: Move ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.

I forgot to sort the project file before making the diff. I'll do that on commit.

Wed, Mar 6, 12:32 PM · Restricted Project
jingham created D59040: Move ExpressionSourceCode.cpp -> ClangExpressionSourceCode.cpp.
Wed, Mar 6, 12:19 PM · Restricted Project

Mon, Mar 4

jingham committed rG3fc1a73a7971: Fix the Xcode project for UserIDResolver. (authored by jingham).
Fix the Xcode project for UserIDResolver.
Mon, Mar 4, 4:52 PM
jingham committed rL355358: Fix the Xcode project for UserIDResolver..
Fix the Xcode project for UserIDResolver.
Mon, Mar 4, 4:51 PM
jingham committed rLLDB355358: Fix the Xcode project for UserIDResolver..
Fix the Xcode project for UserIDResolver.
Mon, Mar 4, 4:51 PM
jingham accepted D57689: Adds property to force enabling of GDB JIT loader for MacOS.

Yes, looks fine.

Mon, Mar 4, 10:31 AM · Restricted Project, Restricted Project

Fri, Mar 1

jingham added a comment to D58838: Remove tautological #ifdefs.

Yea it would be nice if we could remove all of the LLDB_CONFIGURATION_xxx macros and just use either the LLVM ones or standard ones such as NDEBUG

I generally agree with this, but we need to decide what to do on a case-by-case basis. So far I found four categories of LLDB_CONFIGURATION_DEBUG

  1. assertions that should just be "assert"
  2. expensive checks that should be guarded by LLVM_ENABLE_EXPENSIVE_CHECKS instead
  3. Consistency checks that assume that the debug info is 100% accurate/complete and that may fail in the real world
  4. additional logging

    there may be other cases that I haven't found yet.
Fri, Mar 1, 3:40 PM · Restricted Project
jingham added a comment to D58792: Add "operator bool" to SB APIs.

Out of curiosity, are there known, specific examples of users who rely on the exact mangling not changing?

yes. Xcode. For Swift, Xcode runs the LLDBRPC.framework in process which runs lldb-rpc-server out of process with the DYLD_FRAMEWORK_PATH set to the directory that contains the LLDB.framework that lldb-rpc-server wants to run with. API is very important and without it this would not have been possible. So API is very important.

That being said, at some point we should make a lldb2 namespace and make a liblldb2.so and cull out all of the fluff we are keeping in there and get down to the exact API we want. We can then change things to be const where needed. remove redundant calls. In the name of backward compatibility we have functions that didn't return an error which now do so we have two versions of similar cal, one with error reporting and one without. Or the 5 flavors of CreateTarget in SBDebugger. There are many others. So at some point it would be nice to go through and reduce and improve the API. That will take time though cause if we do it, we should get it right.

Fri, Mar 1, 3:01 PM · Restricted Project
jingham added a comment to D58792: Add "operator bool" to SB APIs.

Out of curiosity, are there known, specific examples of users who rely on the exact mangling not changing?

Fri, Mar 1, 2:45 PM · Restricted Project
jingham added a comment to D58167: Refactor user/group name resolving code.

This is fine by me, though Greg I think still had an outstanding question. If he's satisfied, I am.

Fri, Mar 1, 2:38 PM · Restricted Project
jingham committed rG3139fc976795: Resubmit r354706 with a fix for process launch. (authored by jingham).
Resubmit r354706 with a fix for process launch.
Fri, Mar 1, 10:14 AM
jingham committed rL355213: Resubmit r354706 with a fix for process launch..
Resubmit r354706 with a fix for process launch.
Fri, Mar 1, 10:13 AM
jingham committed rLLDB355213: Resubmit r354706 with a fix for process launch..
Resubmit r354706 with a fix for process launch.
Fri, Mar 1, 10:13 AM
jingham closed D58727: https://reviews.llvm.org/D58394 done right.
Fri, Mar 1, 10:13 AM · Restricted Project
jingham added a comment to D58727: https://reviews.llvm.org/D58394 done right.

Excellent, thanks! I didn't think to look there.

Fri, Mar 1, 10:05 AM · Restricted Project

Wed, Feb 27

jingham committed rGb12ac2b68917: Pass arguments correctly to the objc object checker on arm64 (authored by jingham).
Pass arguments correctly to the objc object checker on arm64
Wed, Feb 27, 12:29 PM
jingham committed rL355026: Pass arguments correctly to the objc object checker on arm64.
Pass arguments correctly to the objc object checker on arm64
Wed, Feb 27, 12:29 PM
jingham committed rLLDB355026: Pass arguments correctly to the objc object checker on arm64.
Pass arguments correctly to the objc object checker on arm64
Wed, Feb 27, 12:28 PM
jingham closed D58699: Adapt the ObjC checker instrumentation to handle objc_msgSend with struct returns.
Wed, Feb 27, 12:28 PM · Restricted Project
jingham accepted D58730: Rename Symbols.cpp from Host to Symbols/LocateSymbolFile.{h,cpp}.

This seems reasonable to me. Any Host implementation can live off source/Host/common/Symbols.cpp, and only needs to do anything if it wants to augment that behavior. Seen that way, it is not defining API's that are a required step in porting to a new platform. So the API definitions don't need to be specially called out as being required of a Host implementation. And the implementation is still in source/Host so it's clear that this does provide host specific functionality. So that seems fine to me.

Wed, Feb 27, 12:01 PM · Restricted Project
jingham created D58727: https://reviews.llvm.org/D58394 done right.
Wed, Feb 27, 10:41 AM · Restricted Project

Tue, Feb 26

jingham added a comment to D58699: Adapt the ObjC checker instrumentation to handle objc_msgSend with struct returns.

I chose not to do it that way because I don't think it will ever be the case the msgSend_stret will NOT be a struct return convention so the test isn't relevant (and is a bit confusing) there. And we may at some point need to do some other work that depends on the flavor of msgSend, so I wanted to keep the distinction.

Tue, Feb 26, 3:15 PM · Restricted Project
jingham created D58699: Adapt the ObjC checker instrumentation to handle objc_msgSend with struct returns.
Tue, Feb 26, 2:34 PM · Restricted Project
jingham added a comment to D58678: Improve step over performance by not stopping at branches that are function calls and stepping into and them out of each one.

I'm fine with leaving the reporting as is. This really only happens in fairly restricted situations (only hardware breakpoints) and neither way of reporting the failure seems much better to me, so we needn't over-polish it.

Tue, Feb 26, 11:51 AM · Restricted Project
jingham added a comment to D58350: Insert random blocks of python code with swig instead of modify-python-lldb.py.

One comment seems to have wandered out of place.

Tue, Feb 26, 11:50 AM · Restricted Project
jingham accepted D58350: Insert random blocks of python code with swig instead of modify-python-lldb.py.

I don't remember why this was inserted as separate pass. Maybe we were still early on learning what SWIG could do? That was a long time ago now...

Tue, Feb 26, 11:49 AM · Restricted Project
jingham committed rGcbf575a5a0d2: Mention predicting exception catch at throw site (authored by jingham).
Mention predicting exception catch at throw site
Tue, Feb 26, 11:19 AM
jingham committed rL354914: Mention predicting exception catch at throw site.
Mention predicting exception catch at throw site
Tue, Feb 26, 11:17 AM
jingham committed rLLDB354914: Mention predicting exception catch at throw site.
Mention predicting exception catch at throw site
Tue, Feb 26, 11:17 AM
jingham added a comment to D58678: Improve step over performance by not stopping at branches that are function calls and stepping into and them out of each one.

I have two questions about this patch.

Tue, Feb 26, 11:06 AM · Restricted Project
jingham added a comment to D58678: Improve step over performance by not stopping at branches that are function calls and stepping into and them out of each one.

Since we are stepping over we can safely ignore these calls since they will return to the next instruction

What if the call throws an exception?

Tue, Feb 26, 10:20 AM · Restricted Project

Mon, Feb 25

jingham added a comment to D58654: Move Config.h from Host to Utility.

There aren't many more platforms (OpenVMS?) that are likely to show up and need support for lldb, so maybe this is making too much of the matter. But having there be a well defined set of places where you need to look when porting lldb to a new host platform seems a useful design to me. The fact that we weren't strict enough and allowed Host platform dependencies to creep in where they don't belong doesn't argue we should just abandon trying to keep the places where a port sockets into lldb regular.

Mon, Feb 25, 6:55 PM
jingham added a comment to D58654: Move Config.h from Host to Utility.

Utility is supposed to be a bunch of stand-alone utility files & headers that we gather together for convenience's sake.

Mon, Feb 25, 5:35 PM

Fri, Feb 22

jingham committed rG0513a24d62e1: Revert r354706 - lit touched my thigh (authored by jingham).
Revert r354706 - lit touched my thigh
Fri, Feb 22, 5:08 PM
jingham committed rL354711: Revert r354706 - lit touched my thigh.
Revert r354706 - lit touched my thigh
Fri, Feb 22, 5:08 PM
jingham committed rLLDB354711: Revert r354706 - lit touched my thigh.
Revert r354706 - lit touched my thigh
Fri, Feb 22, 5:08 PM
jingham committed rGff8c7a094766: Make sure that stop-hooks run asynchronously. (authored by jingham).
Make sure that stop-hooks run asynchronously.
Fri, Feb 22, 4:14 PM
jingham committed rLLDB354706: Make sure that stop-hooks run asynchronously..
Make sure that stop-hooks run asynchronously.
Fri, Feb 22, 4:14 PM
jingham committed rL354706: Make sure that stop-hooks run asynchronously..
Make sure that stop-hooks run asynchronously.
Fri, Feb 22, 4:14 PM
jingham closed D58394: Add --auto-continue to stop-hooks, fix up a few tests.
Fri, Feb 22, 4:14 PM · Restricted Project, Restricted Project
jingham committed rGbac29fde53b9: When deserializing breakpoints some options may not be present. The… (authored by jingham).
When deserializing breakpoints some options may not be present. The…
Fri, Feb 22, 3:56 PM
jingham committed rLLDB354702: When deserializing breakpoints some options may not be present..
When deserializing breakpoints some options may not be present.
Fri, Feb 22, 3:56 PM
jingham committed rL354702: When deserializing breakpoints some options may not be present..
When deserializing breakpoints some options may not be present.
Fri, Feb 22, 3:53 PM

Thu, Feb 21

jingham updated the diff for D58394: Add --auto-continue to stop-hooks, fix up a few tests.

Is this the right way to do it? I don't know why the other was UNSUPPORTED: linux. The only other XFAIL for linux I could see spelled it -linux-?

Thu, Feb 21, 5:15 PM · Restricted Project, Restricted Project

Wed, Feb 20

jingham added a comment to D58394: Add --auto-continue to stop-hooks, fix up a few tests.

Pavel, I think the new behavior w.r.t. launching is better. When the process plugins are managing events to handle a launch or attach, they really don't want random stop hooks getting in their way. On MacOS, if you set a stop hook before launch you always got one stop message at a place you didn't cause the target to stop, which I think was just confusing.

Wed, Feb 20, 10:36 AM · Restricted Project, Restricted Project
jingham updated the diff for D58394: Add --auto-continue to stop-hooks, fix up a few tests.

Trying to guess how thread list output is going to look is indeed a losing game.

Wed, Feb 20, 10:32 AM · Restricted Project, Restricted Project

Tue, Feb 19

jingham updated the diff for D58394: Add --auto-continue to stop-hooks, fix up a few tests.

I wasn't using the right %lldb when running the tests. That provides the 'echo-comment-commands false'. Run correctly you don't need the command in the test files.

Tue, Feb 19, 4:09 PM · Restricted Project, Restricted Project
jingham created D58394: Add --auto-continue to stop-hooks, fix up a few tests.
Tue, Feb 19, 10:55 AM · Restricted Project, Restricted Project

Feb 15 2019

jingham added inline comments to D58167: Refactor user/group name resolving code.
Feb 15 2019, 11:19 AM · Restricted Project
jingham added a comment to D58257: Disable ExecControl/StopHook/stop-hook-threads.test on Linux.

BTW, I still think that we should add an explicit way to indicate that stop hooks should continue. But the current intended behavior was regular. If any stop hook caused the target to proceed, it would terminate at that point and all the other stop hooks would be jettisoned. But if the stop hook gets (incorrectly) run in sync mode, we can no longer implement that policy.

Feb 15 2019, 11:05 AM · Restricted Project
jingham added a comment to D58257: Disable ExecControl/StopHook/stop-hook-threads.test on Linux.

Ah, I see what happened.

Feb 15 2019, 10:28 AM · Restricted Project

Feb 14 2019

jingham added a comment to D58257: Disable ExecControl/StopHook/stop-hook-threads.test on Linux.

I haven't gotten a chance to revisit the stop hooks in a long time. They definitely need some love.

Feb 14 2019, 4:12 PM · Restricted Project
jingham accepted D57964: Fix potential UB when target_file directory is null.

That code seems amazingly good to me ;-)

Feb 14 2019, 10:51 AM · Restricted Project

Feb 13 2019

jingham added a comment to D58167: Refactor user/group name resolving code.

You are using a mix of llvm & lldb naming conventions for local variables and arguments and the ivars of UserIDResolver (lots of "Uid", etc...) Probably better to stick with the lldb convention.

Feb 13 2019, 11:20 AM · Restricted Project

Feb 11 2019

jingham accepted D58052: Extract common PlatformPOSIX/Windows code into a separate class.

LGTM.

Feb 11 2019, 11:05 AM · Restricted Project

Feb 8 2019

jingham added inline comments to D57990: Use std::make_shared in LLDB (NFC).
Feb 8 2019, 6:12 PM · Restricted Project
jingham added a comment to D57964: Fix potential UB when target_file directory is null.

Might be clearer to do:

Feb 8 2019, 11:14 AM · Restricted Project

Feb 7 2019

jingham committed rG3c247076cce9: Removing some unimplemented methods from the SB headers NFC (authored by jingham).
Removing some unimplemented methods from the SB headers NFC
Feb 7 2019, 4:34 PM
jingham committed rL353487: Removing some unimplemented methods from the SB headers.
Removing some unimplemented methods from the SB headers
Feb 7 2019, 4:33 PM
jingham committed rLLDB353487: Removing some unimplemented methods from the SB headers.
Removing some unimplemented methods from the SB headers
Feb 7 2019, 4:33 PM

Feb 5 2019

jingham committed rG1a377ca4cdf7: Little more cleanup on https://reviews.llvm.org/D57552 Thanks Jonas... One… (authored by jingham).
Little more cleanup on https://reviews.llvm.org/D57552 Thanks Jonas... One…
Feb 5 2019, 5:28 PM
jingham committed rL353257: Little more cleanup on https://reviews.llvm.org/D57552.
Little more cleanup on https://reviews.llvm.org/D57552
Feb 5 2019, 5:27 PM
jingham committed rLLDB353257: Little more cleanup on https://reviews.llvm.org/D57552.
Little more cleanup on https://reviews.llvm.org/D57552
Feb 5 2019, 5:27 PM
jingham committed rG78449f009a17: Add the source directory for https://reviews.llvm.org/D57552. (authored by jingham).
Add the source directory for https://reviews.llvm.org/D57552.
Feb 5 2019, 4:53 PM
jingham committed rL353251: Add the source directory for https://reviews.llvm.org/D57552..
Add the source directory for https://reviews.llvm.org/D57552.
Feb 5 2019, 4:51 PM
jingham committed rLLDB353251: Add the source directory for https://reviews.llvm.org/D57552..
Add the source directory for https://reviews.llvm.org/D57552.
Feb 5 2019, 4:51 PM
jingham committed rG052f7ff96a85: Fix PathMappingList::FindFile to handle relative incoming FileSpecs. (authored by jingham).
Fix PathMappingList::FindFile to handle relative incoming FileSpecs.
Feb 5 2019, 3:48 PM
jingham committed rLLDB353243: Fix PathMappingList::FindFile to handle relative incoming FileSpecs..
Fix PathMappingList::FindFile to handle relative incoming FileSpecs.
Feb 5 2019, 3:48 PM
jingham committed rL353243: Fix PathMappingList::FindFile to handle relative incoming FileSpecs..
Fix PathMappingList::FindFile to handle relative incoming FileSpecs.
Feb 5 2019, 3:48 PM
jingham closed D57552: Handle "." in target.source-map in PathMapListing::FindFiles.
Feb 5 2019, 3:48 PM · Restricted Project, Restricted Project

Feb 4 2019

jingham accepted D56221: [lldb] Make frame recognizers vend synthesized eValueTypeVariableArgument values.

LGTM

Feb 4 2019, 5:59 PM · Restricted Project
jingham accepted D55318: [Expressions] Add support of expressions evaluation in some object's context.

Thanks for adding the ObjC tests! I had two trivial requests for the test comments to be a little clearer, but even without that this is fine.

Feb 4 2019, 3:13 PM · Restricted Project, Restricted Project
jingham added a comment to D57689: Adds property to force enabling of GDB JIT loader for MacOS.

That looks good. Could you add a test for this setting to the ./functionalities/jitloader_gdb/TestJITLoaderGDB.py test? I wouldn't test that the default has any particular behavior because that might change over time. But test that if you turn it on, you do get load notifications, and if you turn it off you don't. Thanks!

Feb 4 2019, 3:02 PM · Restricted Project, Restricted Project
jingham requested changes to D57689: Adds property to force enabling of GDB JIT loader for MacOS.

It would be better to have the setting be an enum of "on/off/default", and then have the somebody - the current DynamicLoader plugin seems the best somebody - provide the default value if the setting hasn't been explicitly set. That way on any platform one could turn the loading on and off, which seems useful, and we wouldn't have to have a Darwin specific setting that will cease being applicable when the Darwin default switches.

Feb 4 2019, 11:57 AM · Restricted Project, Restricted Project
jingham added inline comments to D57552: Handle "." in target.source-map in PathMapListing::FindFiles.
Feb 4 2019, 10:16 AM · Restricted Project, Restricted Project

Feb 1 2019

jingham added a comment to D57552: Handle "." in target.source-map in PathMapListing::FindFiles.
In D57552#1381094, @ted wrote:
In D57552#1380782, @ted wrote:

FYI, @jingham , this is also an issue with DYLD plugins, if the file in the link map starts with ".". "image search-paths add . /path/to/my/libraries" fails in this case, because "./library.so" gets changed to "library.so".

This should fix that issue as well, since image search-paths are also PathMappingLists. I don't see any tests for this, however. Do you have something handy you could turn into a test?

I don't think this will fix it, because the problem happens in the initial FileSpec, before we get to search-paths.

From source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp, DYLDRendezvous::ReadSOEntryFromMemory():

std::string file_path = ReadStringFromMemory(entry.path_addr);
entry.file_spec.SetFile(file_path, false, FileSpec::Style::native);

FileSpec::SetFile normalizes the path, which will remove a leading "./", so "image search-paths add . /path/to/my/lib", which would work with "./mylib.so", won't work with "mylib.so".

I think I can write a test that uses LD_LIBRARY_PATH and a subdirectory so the target can load "./mylib.so", but LLDB won't be able to see it without a search-path.

Feb 1 2019, 10:50 AM · Restricted Project, Restricted Project
jingham added a comment to D57552: Handle "." in target.source-map in PathMapListing::FindFiles.

Sure, that's clearer.

Feb 1 2019, 10:44 AM · Restricted Project, Restricted Project