See http://rubyspec.org/wiki/rubyspec/Guards for the correct use of all the guards. In particular, note that the compliant_on/ not_compliant_on guarded specs will always run on MRI. The deviates_on, extended_on, and not_supported_on never run on MRI. These latter three guards will now raise an exception if passed :ruby. Also, platforms like :windows are not proper for any of these implementation compliance guards. Use ruby_version_is or ruby_bug guards for version-specific specs or specs that expose bugs in MRI.
The 'critical' tags are specs that either hang or cause a segfault. These can be listed with 'mspec tag --list critical'. The rest of the tags are from a variety of issues. These are not necessarily bugs in 1.9. Most are probably specs that need to be fixed to be compatible with both 1.8 and 1.9. The tags do not block syntax errors since those occur while the file is loading.