|
|
1
1
是什么把环境分开的?如果它是执行上下文(上下文中的对象只调用同一上下文中的对象),那么您可以为每个环境使用一个线程,并将“本地全局”存储在线程本地存储中(或者只使用键为线程ID的全局映射)。 这有一些缺点。首先,如果存在跨上下文调用,它就不起作用。当然,它迫使你进入一个线程模型。 |
|
|
2
0
您可能需要两个类型的存储—一个全局存储用于具体类型,一个本地存储用于typerefs。本地存储应该放在当前正在分析的程序的上下文中。 |
|
|
3
0
使用线程本地存储的想法很有意思,但是我最终得到了另一个解决方案: 我分两个阶段使用这些类型:首先,它们都被创建,然后它们被“编译”。编译需要一个环境,但只执行一次。它包括将所有类型名转换为适当的类型对象。编译之后,不再需要环境。 尽管如此,我认为这仍然是一个解决方案,而不是一个通用的解决方案。 |