7daf8cf3ee
The quite common empty object literal doesn't need an AllocationSite since it starts off with the general ElementsKind. By using a separate bytecode we can directly instantiate the empty object without jumping to the runtime first. Note: this experimentally disables pretenuring for empty object literals. Depending on the outcome of our benchmarks pretenuring will be enabled again or fully removed for empty object literals. Bug: v8:6211 Change-Id: I2fee81cbefc70865fc436dbd3bc5fc8de04db91c Reviewed-on: https://chromium-review.googlesource.com/577555 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47467} |
||
---|---|---|
.. | ||
bytecode-array-builder-unittest.cc | ||
bytecode-array-iterator-unittest.cc | ||
bytecode-array-random-iterator-unittest.cc | ||
bytecode-array-writer-unittest.cc | ||
bytecode-decoder-unittest.cc | ||
bytecode-node-unittest.cc | ||
bytecode-operands-unittest.cc | ||
bytecode-register-allocator-unittest.cc | ||
bytecode-register-optimizer-unittest.cc | ||
bytecode-source-info-unittest.cc | ||
bytecode-utils.h | ||
bytecodes-unittest.cc | ||
constant-array-builder-unittest.cc | ||
interpreter-assembler-unittest.cc | ||
interpreter-assembler-unittest.h |