Changeset 229952 in webkit for trunk/Source/JavaScriptCore/parser/Parser.h
- Timestamp:
- Mar 24, 2018, 12:04:18 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Parser.h
r229608 r229952 27 27 #include "ModuleScopeData.h" 28 28 #include "Nodes.h" 29 #include "ParseHash.h" 29 30 #include "ParserArena.h" 30 31 #include "ParserError.h" … … 1952 1953 { 1953 1954 ASSERT(!source.provider()->source().isNull()); 1955 1956 MonotonicTime before; 1957 if (UNLIKELY(Options::reportParseTimes())) 1958 before = MonotonicTime::now(); 1959 1960 std::unique_ptr<ParsedNode> result; 1954 1961 if (source.provider()->source().is8Bit()) { 1955 1962 Parser<Lexer<LChar>> parser(vm, source, builtinMode, strictMode, scriptMode, parseMode, superBinding, defaultConstructorKind, derivedContextType, isEvalNode<ParsedNode>(), evalContextType, debuggerParseData); 1956 std::unique_ptr<ParsedNode>result = parser.parse<ParsedNode>(error, name, parseMode);1963 result = parser.parse<ParsedNode>(error, name, parseMode); 1957 1964 if (positionBeforeLastNewline) 1958 1965 *positionBeforeLastNewline = parser.positionBeforeLastNewline(); 1959 1966 if (builtinMode == JSParserBuiltinMode::Builtin) { 1960 1967 if (!result) 1961 WTF::dataLog("Error compiling builtin: ", error.message(), "\n"); 1962 } 1963 return result; 1964 } 1965 ASSERT_WITH_MESSAGE(defaultConstructorKind == ConstructorKind::None, "BuiltinExecutables::createDefaultConstructor should always use a 8-bit string"); 1966 Parser<Lexer<UChar>> parser(vm, source, builtinMode, strictMode, scriptMode, parseMode, superBinding, defaultConstructorKind, derivedContextType, isEvalNode<ParsedNode>(), evalContextType, debuggerParseData); 1967 std::unique_ptr<ParsedNode> result = parser.parse<ParsedNode>(error, name, parseMode); 1968 if (positionBeforeLastNewline) 1969 *positionBeforeLastNewline = parser.positionBeforeLastNewline(); 1968 dataLogLn("Error compiling builtin: ", error.message()); 1969 } 1970 } else { 1971 ASSERT_WITH_MESSAGE(defaultConstructorKind == ConstructorKind::None, "BuiltinExecutables::createDefaultConstructor should always use a 8-bit string"); 1972 Parser<Lexer<UChar>> parser(vm, source, builtinMode, strictMode, scriptMode, parseMode, superBinding, defaultConstructorKind, derivedContextType, isEvalNode<ParsedNode>(), evalContextType, debuggerParseData); 1973 result = parser.parse<ParsedNode>(error, name, parseMode); 1974 if (positionBeforeLastNewline) 1975 *positionBeforeLastNewline = parser.positionBeforeLastNewline(); 1976 } 1977 1978 if (UNLIKELY(Options::reportParseTimes())) { 1979 MonotonicTime after = MonotonicTime::now(); 1980 ParseHash hash(source); 1981 dataLogLn(result ? "Parsed #" : "Failed to parse #", hash.hashForCall(), "/#", hash.hashForConstruct(), " in ", (after - before).milliseconds(), " ms."); 1982 } 1983 1970 1984 return result; 1971 1985 }
Note:
See TracChangeset
for help on using the changeset viewer.