summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/parser/ParserArena.h
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-10-20 19:19:56 +0200
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-10-20 20:29:12 +0200
commit7a7433bfa61e80b91d1e9e7cf4b44ee8fdc431a0 (patch)
tree2ca7eb63ddb38472305f41e8e5b81c89cd20b9f0 /Source/JavaScriptCore/parser/ParserArena.h
parentee21e513f3ed68af68e529b43c8fda94dfcc49ff (diff)
parent7778f881ff7dc92fca44dd414b02e7345f8db930 (diff)
downloadqtwebkit-7a7433bfa61e80b91d1e9e7cf4b44ee8fdc431a0.tar.gz
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts: Tools/qmake/mkspecs/features/configure.prf Change-Id: I3a704585aaa8bbf4ba4e249248195b9271890981
Diffstat (limited to 'Source/JavaScriptCore/parser/ParserArena.h')
-rw-r--r--Source/JavaScriptCore/parser/ParserArena.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/parser/ParserArena.h b/Source/JavaScriptCore/parser/ParserArena.h
index 45d4b158e..8d790c44c 100644
--- a/Source/JavaScriptCore/parser/ParserArena.h
+++ b/Source/JavaScriptCore/parser/ParserArena.h
@@ -71,6 +71,10 @@ namespace JSC {
template <typename T>
ALWAYS_INLINE const Identifier& IdentifierArena::makeIdentifier(VM* vm, const T* characters, size_t length)
{
+ if (length == 0) {
+ m_identifiers.append(Identifier(Identifier::EmptyIdentifier));
+ return m_identifiers.last();
+ }
if (characters[0] >= MaximumCachableCharacter) {
m_identifiers.append(Identifier(vm, characters, length));
return m_identifiers.last();
@@ -92,6 +96,10 @@ namespace JSC {
ALWAYS_INLINE const Identifier& IdentifierArena::makeIdentifierLCharFromUChar(VM* vm, const UChar* characters, size_t length)
{
+ if (length == 0) {
+ m_identifiers.append(Identifier(Identifier::EmptyIdentifier));
+ return m_identifiers.last();
+ }
if (characters[0] >= MaximumCachableCharacter) {
m_identifiers.append(Identifier::createLCharFromUChar(vm, characters, length));
return m_identifiers.last();