Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid symbol reference sharing for dummy resolved methods
It's possible to encounter an unresolved call, then to resolve its CP entry in another thread, and finally encounter another call with the same CP index, which is now resolved. In this situation, sharing is usually prevented due to the !(resolvedMethod && symRef->isUnresolved()) condition. However, a dummy resolved method does not satisfy symRef->isUnresolved(). It's important not to share the symbol reference because the dummy resolved method used in the unresolved case may expect arguments of a different type or a different number of arguments from the real resolved method.
- Loading branch information