• Toon Verwaest's avatar
    [preparser] Split GetSymbol into GetSymbol and GetIdentifier · acfe5921
    Toon Verwaest authored
    GetSymbol previously always internalized the underlying string, even if the
    preparser does not need it. The most common case where this isn't needed is
    property name parsing. This seems to speed up preparsing quite a bit.
    
    For future reference: Property names in object literals still are needed due to
    various checks (e.g., get 'constructor', duplicate __proto__, ...); as well as
    cover grammar parsing (property names can turn into variable references). If we
    turn all strings that the preparser needs to identify back into contextual
    keywords we may be able to avoid the former.
    
    Change-Id: I549e4600053de3136ca08d4915cc04db36d66a89
    Reviewed-on: https://chromium-review.googlesource.com/c/1488764Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59866}
    acfe5921
preparser.cc 15.2 KB