• Mythri's avatar
    Change SetProperty/SetSuperProperty to infer language mode when possible · 0896599f
    Mythri authored
    In most cases, the language mode can be inferred from the closure and
    the context. Computing the language mode instead of passing it around
    simplifies the ICs and will make it possible to go towards lazily
    allocating feedback vectors. Currently ICs obtain the language mode from
    the feedback vectors and with lazy feedback allocation we may not always
    have feedback vectors. Since computing language mode is a bit expensive
    we want to defer it as far as possible.
    
    In Array builtins and other builtins like Reflect.Set we need to force a
    language mode when setting the properties. To support these cases the
    SetProperty methods allow the language mode to be overridden when needed.
    
    This is a first cl in a series of cls, that will defer the language mode
    computation further and remove language mode where it is not needed.
    
    BUG: v8:8580
    Change-Id: I9c2396e3bcfe77c3c9d6760c46d86954d54744b9
    Reviewed-on: https://chromium-review.googlesource.com/c/1409426Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Mythri Alle <mythria@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58893}
    0896599f
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
OWNERS Loading commit data...
bytecodes-irregexp.h Loading commit data...
interpreter-irregexp.cc Loading commit data...
interpreter-irregexp.h Loading commit data...
jsregexp-inl.h Loading commit data...
jsregexp.cc Loading commit data...
jsregexp.h Loading commit data...
property-sequences.cc Loading commit data...
property-sequences.h Loading commit data...
regexp-ast.cc Loading commit data...
regexp-ast.h Loading commit data...
regexp-macro-assembler-irregexp-inl.h Loading commit data...
regexp-macro-assembler-irregexp.cc Loading commit data...
regexp-macro-assembler-irregexp.h Loading commit data...
regexp-macro-assembler-tracer.cc Loading commit data...
regexp-macro-assembler-tracer.h Loading commit data...
regexp-macro-assembler.cc Loading commit data...
regexp-macro-assembler.h Loading commit data...
regexp-parser.cc Loading commit data...
regexp-parser.h Loading commit data...
regexp-stack.cc Loading commit data...
regexp-stack.h Loading commit data...
regexp-utils.cc Loading commit data...
regexp-utils.h Loading commit data...