JNI で呼び出すDLL(C++でコーディング)で、

int* src = (int *)env->GetPrimitiveArrayCritical()

__m128i * s128 = (__m128i *)src;
__m128i const128 = _mm_set1_epi32(1);
*s128 = _mm_sub_epi32(*s128, const128);


みたいなことするとVMがクラッシュしてくれて泣きそうです。
DLL側でメモリリークしてるとクラッシュするんで、それと同じかなぁと
おもっとるんですが、
GetPrimitiveArrayCritical じゃなくて、普通に
_mm_malloc() して確保した場合は問題ないんですよねぇ。

JNI の先で SIMD 命令使ったことある猛者はおらんですか。