Objective-C API: scanExternalObjectGraph should not create new JSVirtualMachine wrappers
https://bugs.webkit.org/show_bug.cgi?id=116074

If scanExternalObjectGraph creates a new JSVirtualMachine wrapper during collection, when the 
scanExternalObjectGraph call finishes and the autorelease pool is drained we will dealloc the 
JSVirtualMachine which will cause us to try to take the API lock for the corresponding VM. 
If this happens on a GC thread other than the "main" thread, we will deadlock. The solution 
is to just check the VM cache, and if there is no JSVirtualMachine wrapper, return early.

Reviewed by Darin Adler.

* API/JSVirtualMachine.mm:
(scanExternalObjectGraph):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150050 268f45cc-cd09-0410-ab3c-d52691b4dbfc