Merged r18000, r18013, r18298, r18319 into 3.22 branch.

Restore saved caller FP registers on stub failure and preserve FP registers on NotifyStubFailure.

Invalidate embedded objects in optimized code if it was marked for deoptimization.

Initialize Date parse cache with SMI instead of double to workaround sharing mutable heap numbers in snapshot.

Fix NotifyStubFailureSaveDoubles generation for ia32.

BUG=320532,v8:2996,280531
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/128303002

git-svn-id: https://v8.googlecode.com/svn/branches/3.22@18496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/3.22' into 3.22