I came across this site and also there are some discussions about the topic here and here but I still could not find the answer.
It has been stated that Dalvik had separate stacks for native and Java code, while ART has a unified stack for the native and Java code. I tried to verify this by extracting memory addresses in an Android app (using unsafe lib). However, it seems that they belong to different memory regions ( it looks that the native heap resides between the native stack and the Java stack). So what is meant by a unified stack? is that at low level, or may be this is at an abstract level?