by Sven Panne's suggestion, see  for details. : https://code.google.com/p/v8/issues/detail?id=2468
GetPointerFromInternalField() is deprecated now, we should use GetAlignedPointerFromInternalField().
These explicit instantiations were added to make MSVC happy. It turns out that some older versions of gcc and llvm now complain about duplicate symbols, so we instantiate these templates only when MSVC is used.