Changeset 43960 in webkit for trunk/JavaScriptCore/jsc.cpp


Ignore:
Timestamp:
May 20, 2009, 10:52:44 PM (16 years ago)
Author:
[email protected]
Message:

2009-05-20 Sam Weinig <[email protected]>

Reviewed by Cameron Zwarich.

Cleanup the JSGlobalData when exiting early with the usage statement in jsc.

  • jsc.cpp: (printUsageStatement): (parseArguments): (jscmain):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/jsc.cpp

    r43619 r43960  
    464464}
    465465
    466 static NO_RETURN void printUsageStatement(bool help = false)
     466static NO_RETURN void printUsageStatement(JSGlobalData* globalData, bool help = false)
    467467{
    468468    fprintf(stderr, "Usage: jsc [options] [files] [-- arguments]\n");
     
    473473    fprintf(stderr, "  -i         Enables interactive mode (default if no files are specified)\n");
    474474    fprintf(stderr, "  -s         Installs signal handlers that exit on a crash (Unix platforms only)\n");
     475
     476    cleanupGlobalData(globalData);
    475477    exit(help ? EXIT_SUCCESS : EXIT_FAILURE);
    476478}
    477479
    478 static void parseArguments(int argc, char** argv, Options& options)
     480static void parseArguments(int argc, char** argv, Options& options, JSGlobalData* globalData)
    479481{
    480482    int i = 1;
     
    483485        if (strcmp(arg, "-f") == 0) {
    484486            if (++i == argc)
    485                 printUsageStatement();
     487                printUsageStatement(globalData);
    486488            options.scripts.append(Script(true, argv[i]));
    487489            continue;
     
    489491        if (strcmp(arg, "-e") == 0) {
    490492            if (++i == argc)
    491                 printUsageStatement();
     493                printUsageStatement(globalData);
    492494            options.scripts.append(Script(false, argv[i]));
    493495            continue;
    494496        }
    495497        if (strcmp(arg, "-h") == 0 || strcmp(arg, "--help") == 0) {
    496             printUsageStatement(true);
     498            printUsageStatement(globalData, true);
    497499        }
    498500        if (strcmp(arg, "-i") == 0) {
     
    532534
    533535    Options options;
    534     parseArguments(argc, argv, options);
     536    parseArguments(argc, argv, options, globalData);
    535537
    536538    GlobalObject* globalObject = new (globalData) GlobalObject(options.arguments);
Note: See TracChangeset for help on using the changeset viewer.