The spec simply says the synchronized method may only be entered by one thread at a time. What architecture mechanism is used would depend on the JVM.
In the case of Oracle HotSpot (the JVM that almost everyone runs): the C++ code is GNU, and probably holds the answer for you.
But if you just need the assurance that it "just works", the specification gives that to you.