summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/testRegExp.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
commit2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch)
tree988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/JavaScriptCore/testRegExp.cpp
parentdd91e772430dc294e3bf478c119ef8d43c0a3358 (diff)
downloadqtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Source/JavaScriptCore/testRegExp.cpp')
-rw-r--r--Source/JavaScriptCore/testRegExp.cpp34
1 files changed, 11 insertions, 23 deletions
diff --git a/Source/JavaScriptCore/testRegExp.cpp b/Source/JavaScriptCore/testRegExp.cpp
index bbea4c8a2..6899ac284 100644
--- a/Source/JavaScriptCore/testRegExp.cpp
+++ b/Source/JavaScriptCore/testRegExp.cpp
@@ -21,7 +21,7 @@
#include "config.h"
#include "RegExp.h"
-#include "CurrentTime.h"
+#include <wtf/CurrentTime.h>
#include "InitializeThreading.h"
#include "JSGlobalObject.h"
#include "UStringBuilder.h"
@@ -54,8 +54,6 @@ const int MaxLineLength = 100 * 1024;
using namespace JSC;
using namespace WTF;
-static void cleanupGlobalData(JSGlobalData*);
-
struct CommandLine {
CommandLine()
: interactive(false)
@@ -159,7 +157,7 @@ GlobalObject::GlobalObject(JSGlobalData& globalData, Structure* structure, const
#define EXCEPT(x)
#endif
-int realMain(int argc, char** argv, JSGlobalData*);
+int realMain(int argc, char** argv);
int main(int argc, char** argv)
{
@@ -193,29 +191,18 @@ int main(int argc, char** argv)
// We can't use destructors in the following code because it uses Windows
// Structured Exception Handling
int res = 0;
- JSGlobalData* globalData = JSGlobalData::create(ThreadStackTypeLarge, LargeHeap).leakRef();
TRY
- res = realMain(argc, argv, globalData);
+ res = realMain(argc, argv);
EXCEPT(res = 3)
-
- cleanupGlobalData(globalData);
return res;
}
-static void cleanupGlobalData(JSGlobalData* globalData)
-{
- JSLock lock(SilenceAssertionsOnly);
- globalData->clearBuiltinStructures();
- globalData->heap.destroy();
- globalData->deref();
-}
-
static bool testOneRegExp(JSGlobalData& globalData, RegExp* regexp, RegExpTest* regExpTest, bool verbose, unsigned int lineNumber)
{
bool result = true;
Vector<int, 32> outVector;
outVector.resize(regExpTest->expectVector.size());
- int matchResult = regexp->match(globalData, regExpTest->subject, regExpTest->offset, &outVector);
+ int matchResult = regexp->match(globalData, regExpTest->subject, regExpTest->offset, outVector);
if (matchResult != regExpTest->result) {
result = false;
@@ -480,23 +467,22 @@ static bool runFromFiles(GlobalObject* globalObject, const Vector<UString>& file
#define RUNNING_FROM_XCODE 0
-static NO_RETURN void printUsageStatement(JSGlobalData* globalData, bool help = false)
+static NO_RETURN void printUsageStatement(bool help = false)
{
fprintf(stderr, "Usage: regexp_test [options] file\n");
fprintf(stderr, " -h|--help Prints this help message\n");
fprintf(stderr, " -v|--verbose Verbose output\n");
- cleanupGlobalData(globalData);
exit(help ? EXIT_SUCCESS : EXIT_FAILURE);
}
-static void parseArguments(int argc, char** argv, CommandLine& options, JSGlobalData* globalData)
+static void parseArguments(int argc, char** argv, CommandLine& options)
{
int i = 1;
for (; i < argc; ++i) {
const char* arg = argv[i];
if (!strcmp(arg, "-h") || !strcmp(arg, "--help"))
- printUsageStatement(globalData, true);
+ printUsageStatement(true);
if (!strcmp(arg, "-v") || !strcmp(arg, "--verbose"))
options.verbose = true;
else
@@ -507,12 +493,14 @@ static void parseArguments(int argc, char** argv, CommandLine& options, JSGlobal
options.arguments.append(argv[i]);
}
-int realMain(int argc, char** argv, JSGlobalData* globalData)
+int realMain(int argc, char** argv)
{
JSLock lock(SilenceAssertionsOnly);
+ RefPtr<JSGlobalData> globalData = JSGlobalData::create(ThreadStackTypeLarge, LargeHeap);
+
CommandLine options;
- parseArguments(argc, argv, options, globalData);
+ parseArguments(argc, argv, options);
GlobalObject* globalObject = GlobalObject::create(*globalData, GlobalObject::createStructure(*globalData, jsNull()), options.arguments);
bool success = runFromFiles(globalObject, options.files, options.verbose);