Mix together all of the dry spices.
Rub the pork down with olive oil and the spice dry rub.
Preheat the oven to 400 degrees. Lay the pork down the center of a roasting pan. Arrange the onions around the perimeter of the pork, with the pineapple layer across the top. Pour in the 2 cups of pineapple juice. Roast uncovered for 45 minutes.
Take the pork out of the oven. Cover with foil. Turn the oven down to 300 degrees. Roast for 1 hour. Baste with the juices half way into the hour.
Take out of the oven and uncover. Place the butter across the top of the pork and let rest for 10 minutes.
Strain 2 cups of the pan juices into a small pot. Simmer for 10 minutes.
Mix together the heavy cream and cornstarch. Whisk into the pan juices to make a gravy.
Serve with mashed potatoes. Ladle the gravy over the pork and potatoes. Garnish with cilantro.