• Benedikt Meurer's avatar
    [objects] No longer create short external strings. · e42e7fc8
    Benedikt Meurer authored
    This fixes String::MakeExternal() to bail out if the subject string
    doesn't fit a regular ExternalString, instead of creating a short
    external string. The observation here is that for short external strings
    the overhead of having to have the StringResource plus going to the
    runtime/C++ for each and every character access from JavaScript land
    is probably bigger than the anticipated benefits.
    
    If this turns out to be wrong and there's a real benefit, we should make
    use of ThinStrings instead of having a separate way to represent
    external strings.
    
    Bug: v8:6621, v8:7109, v8:7145
    Change-Id: I4b75da08b82a72027c782a69de9c8eaf3cca1d4d
    Reviewed-on: https://chromium-review.googlesource.com/799750Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49735}
    e42e7fc8
objects.cc 690 KB