Combining Speculative Execution and Conditional Resource Sharing to Efficiently Schedule Conditional Behaviors