• Tobias Tebbi's avatar
    [torque] uniform flattening and string access in Torque · 65d2c4b4
    Tobias Tebbi authored
    Port String::Flatten to Torque (using a fast C call for the
    non-allocating part) and provide fast and easy access to sequential
    string data in Torque: GetStringData() flattens if necessary and
    computes slices that allow direct access.
    
    Applications: String.prototype.replaceAll, String.prototype.endsWith,
      and String.prototype.beginsWith now use GetStringData() and direct
      slice access instead of the slow StringCharCodeAt and they no
      longer bail out to the runtime for flattening.
    
    Drive-by changes:
      - Expose String instance type bits as bitfields and enums in Torque.
      - Fix method lookup in Torque to include superclass methods.
      - Use char8 and char16 types in more places.
      - Allow fast C calls with void return type.
      - Add Torque macros to create subslices.
      - Add no-GC scopes to runtime functions loading external string data.
    
    
    Bug: v8:7793
    Change-Id: I763b9b24212770307c9b2fe9f070f21f65d68d58
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565515
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71611}
    65d2c4b4
Name
Last commit
Last update
..
ls Loading commit data...
OWNERS Loading commit data...
ast.h Loading commit data...
cc-generator.cc Loading commit data...
cc-generator.h Loading commit data...
cfg.cc Loading commit data...
cfg.h Loading commit data...
class-debug-reader-generator.cc Loading commit data...
constants.h Loading commit data...
contextual.h Loading commit data...
csa-generator.cc Loading commit data...
csa-generator.h Loading commit data...
declarable.cc Loading commit data...
declarable.h Loading commit data...
declaration-visitor.cc Loading commit data...
declaration-visitor.h Loading commit data...
declarations.cc Loading commit data...
declarations.h Loading commit data...
earley-parser.cc Loading commit data...
earley-parser.h Loading commit data...
global-context.cc Loading commit data...
global-context.h Loading commit data...
implementation-visitor.cc Loading commit data...
implementation-visitor.h Loading commit data...
instance-type-generator.cc Loading commit data...
instructions.cc Loading commit data...
instructions.h Loading commit data...
parameter-difference.h Loading commit data...
runtime-macro-shims.h Loading commit data...
runtime-support.h Loading commit data...
server-data.cc Loading commit data...
server-data.h Loading commit data...
source-positions.cc Loading commit data...
source-positions.h Loading commit data...
torque-code-generator.cc Loading commit data...
torque-code-generator.h Loading commit data...
torque-compiler.cc Loading commit data...
torque-compiler.h Loading commit data...
torque-parser.cc Loading commit data...
torque-parser.h Loading commit data...
torque.cc Loading commit data...
type-inference.cc Loading commit data...
type-inference.h Loading commit data...
type-oracle.cc Loading commit data...
type-oracle.h Loading commit data...
type-visitor.cc Loading commit data...
type-visitor.h Loading commit data...
types.cc Loading commit data...
types.h Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...