static void setRequiredCapabilities()

in src/agent.cpp [27:47]


static void setRequiredCapabilities(jvmtiEnv *jvmti, jvmtiCapabilities &effective) {
    jvmtiCapabilities potential;
    std::memset(&potential, 0, sizeof(jvmtiCapabilities));
    std::memset(&effective, 0, sizeof(jvmtiCapabilities));

    jvmti->GetPotentialCapabilities(&potential);

    if (potential.can_tag_objects) {
        effective.can_tag_objects = 1;
    }
    if (potential.can_generate_object_free_events) {
        effective.can_generate_object_free_events = 1;
    }
    if (potential.can_generate_sampled_object_alloc_events) {
        canSampleAllocations = true;
        effective.can_generate_sampled_object_alloc_events = 1;
    }
    if (potential.can_suspend) {
        effective.can_suspend = 1;
    }
}