+#if MONOTONIC
+static kern_return_t
+kcdata_record_task_instrs_cycles(kcdata_descriptor_t kcd, task_t task)
+{
+ uint64_t instrs = 0, cycles = 0;
+ mt_stackshot_task(task, &instrs, &cycles);
+
+ kern_return_t error = KERN_SUCCESS;
+ mach_vm_address_t out_addr = 0;
+ kcd_exit_on_error(kcdata_get_memory_addr(kcd, STACKSHOT_KCTYPE_INSTRS_CYCLES, sizeof(struct instrs_cycles_snapshot), &out_addr));
+ struct instrs_cycles_snapshot *instrs_cycles = (struct instrs_cycles_snapshot *)out_addr;
+ instrs_cycles->ics_instructions = instrs;
+ instrs_cycles->ics_cycles = cycles;
+
+error_exit:
+ return error;
+}
+#endif /* MONOTONIC */
+