예제 #1
0
파일: Options.cpp 프로젝트: nickooms/webkit
void Options::dumpOptionsIfNeeded()
{
    if (Options::showOptions()) {
        DumpLevel level = static_cast<DumpLevel>(Options::showOptions());
        if (level > DumpLevel::Verbose)
            level = DumpLevel::Verbose;
            
        const char* title = nullptr;
        switch (level) {
        case DumpLevel::None:
            break;
        case DumpLevel::Overridden:
            title = "Overridden JSC options:";
            break;
        case DumpLevel::All:
            title = "All JSC options:";
            break;
        case DumpLevel::Verbose:
            title = "All JSC options with descriptions:";
            break;
        }

        StringBuilder builder;
        dumpAllOptions(builder, level, title, nullptr, "   ", "\n", ShowDefaults);
        dataLog(builder.toString());
    }
}
예제 #2
0
파일: Options.cpp 프로젝트: clbr/webkitfltk
void Options::initialize()
{
    // Initialize each of the options with their default values:
#define FOR_EACH_OPTION(type_, name_, defaultValue_, description_) \
    name_() = defaultValue_; \
    name_##Default() = defaultValue_;
    JSC_OPTIONS(FOR_EACH_OPTION)
#undef FOR_EACH_OPTION
    
    // It *probably* makes sense for other platforms to enable this.
#if PLATFORM(IOS) && CPU(ARM64)
    enableLLVMFastISel() = true;
#endif
        
    // Allow environment vars to override options if applicable.
    // The evn var should be the name of the option prefixed with
    // "JSC_".
#define FOR_EACH_OPTION(type_, name_, defaultValue_, description_) \
    overrideOptionWithHeuristic(name_(), "JSC_" #name_);
    JSC_OPTIONS(FOR_EACH_OPTION)
#undef FOR_EACH_OPTION

#if 0
    ; // Deconfuse editors that do auto indentation
#endif
    
    recomputeDependentOptions();

    // Do range checks where needed and make corrections to the options:
    ASSERT(Options::thresholdForOptimizeAfterLongWarmUp() >= Options::thresholdForOptimizeAfterWarmUp());
    ASSERT(Options::thresholdForOptimizeAfterWarmUp() >= Options::thresholdForOptimizeSoon());
    ASSERT(Options::thresholdForOptimizeAfterWarmUp() >= 0);

    if (Options::showOptions()) {
        DumpLevel level = static_cast<DumpLevel>(Options::showOptions());
        if (level > DumpLevel::Verbose)
            level = DumpLevel::Verbose;

        const char* title = nullptr;
        switch (level) {
        case DumpLevel::None:
            break;
        case DumpLevel::Overridden:
            title = "Overridden JSC options:";
            break;
        case DumpLevel::All:
            title = "All JSC options:";
            break;
        case DumpLevel::Verbose:
            title = "All JSC options with descriptions:";
            break;
        }
        dumpAllOptions(level, title);
    }
}
예제 #3
0
파일: Options.cpp 프로젝트: nickooms/webkit
void Options::dumpAllOptions(FILE* stream, DumpLevel level, const char* title)
{
    StringBuilder builder;
    dumpAllOptions(builder, level, title, nullptr, "   ", "\n", ShowDefaults);
    fprintf(stream, "%s", builder.toString().ascii().data());
}
예제 #4
0
파일: Options.cpp 프로젝트: nickooms/webkit
void Options::dumpAllOptionsInALine(StringBuilder& builder)
{
    dumpAllOptions(builder, DumpLevel::All, nullptr, " ", nullptr, nullptr, DontShowDefaults);
}
예제 #5
0
파일: main.cpp 프로젝트: hireader/tls
void usage()
{
    std::cout << "unknow options" << std::endl;
    dumpAllOptions();
}