- 12 Dec, 2018 21 commits
-
-
peterwmwong authored
InternalPackedArray now only has one constructor variant that expects no arguments (Chrome's only usage of InternalPackedArray). As such, these TFC builtins are no longer used and were removed: - InternalArrayNoArgumentConstructor_Holey - InternalArraySingleArgumentConstructor_Packed - InternalArraySingleArgumentConstructor_Holey On x64.release, this reduces builtins size by ~1.2KB. Bug: v8:7624 Change-Id: I7316608dc02b1e09e9e414ee1aeb1fb08410c6f6 Reviewed-on: https://chromium-review.googlesource.com/c/1372772 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58193}
-
Tobias Tebbi authored
Bug: v8:8490 Change-Id: Id9b1b1d8a994b6f1fdd6d93355d3f9555710f6ac Reviewed-on: https://chromium-review.googlesource.com/c/1370030Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58192}
-
Mythri authored
Currently, the runtime IC functions deduce the IC kind and the language mode from the feedback slot kind. To support feedback free execution (for V8 lite mode and lazy allocation of feedback vectors) we need to infer the IC kind even when feedback vectors are not present. To be able to infer the language mode without feedback vectors, this cl forces context allocation in cases where we raise the language mode in the middle of a function. The language mode is the stricter of the language mode on the SFI and the language mode of the current context. This cl updates the bytecode handlers to check for valid feedback vectors and to call into runtime if the feedback vector is not allocated. It also adds new runtime functions to be able to infer the IC kind when there is no feedback vector. Most of the builtins and handlers remain unchanged because they are only used when feedback vector is present. Bug: v8:8394 Change-Id: I1f77740c0d68ddaa0de076597f5f6bcb2e966d70 Reviewed-on: https://chromium-review.googlesource.com/c/1358516 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58191}
-
Clemens Hammacher authored
Neither the TF backend nor Liftoff use the signature, thus remove it. R=titzer@chromium.org Bug: v8:8423 Change-Id: I909e9a0095cac67aaefaebcb4240f7d9829e4c87 Reviewed-on: https://chromium-review.googlesource.com/c/1373777Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58190}
-
Michael Starzinger authored
This makes sure we properly recognize a newline character as part of semicolon insertion, even if the newline appears after a CPP-style single line comment. The same applies for newlines within C-style multi line comments. R=clemensh@chromium.org TEST=mjsunit/asm/regress-913822 BUG=chromium:913822 Change-Id: I64f098d7e386dea7b7fb6c233c1625425e36bde0 Reviewed-on: https://chromium-review.googlesource.com/c/1373551Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58189}
-
Max Moroz authored
Bug: chromium:701825, chromium:911856 Change-Id: Ic8d1ea35e0b21b481aab4c87037de6646ddfe450 Reviewed-on: https://chromium-review.googlesource.com/c/1372072 Commit-Queue: Max Moroz <mmoroz@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58188}
-
Michael Achenbach authored
This reverts commit 98bbb636. Reason for revert: https://crbug.com/v8/8584 Original change's description: > [build] Pull binutils via DEPS > > This pulls binutils from a subtreed repository of Chromium: > https://chromium.googlesource.com/chromium/src/third_party/binutils/ > > Bug: chromium:718157 > Change-Id: I532c7e84d83f716728e4f9f715cfdb82ea5d5f98 > Reviewed-on: https://chromium-review.googlesource.com/c/1370043 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58180} TBR=machenbach@chromium.org,yangguo@chromium.org,sergiyb@chromium.org Change-Id: I43126c54846b14de10a0cd6bdc0b9d6e2e64999c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:718157 Reviewed-on: https://chromium-review.googlesource.com/c/1373780Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58187}
-
Ross McIlroy authored
Bytecode flushing can overwrite a bytecode array with an UncompiledDataWithoutPreParsedScope. Since the bytecode array could be in the LO space, then we also need to allow UncompiledDataWithoutPreParsedScope in the LO space if it has overwritten a large bytecode array. BUG=v8:8395 Change-Id: I1b83b5c7a61830f5576260a4f4f4c0b689818acc Reviewed-on: https://chromium-review.googlesource.com/c/1373775 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58186}
-
Igor Sheludko authored
and update visitors to not look at raw part. This will allow to have effecient access to embedder data once kTaggedSize is switched to 32-bit value. Bug: v8:8518 Change-Id: Ia1875a5ac5f3fb85df5c5555b970fd88d9e8d7a4 Reviewed-on: https://chromium-review.googlesource.com/c/1369957Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#58185}
-
Andreas Haas authored
To allow any-ref parameters, we have to make sure that any-ref stack parameters get seen by the GC. This CL is a first step into that direction. The goal of this CL is to group any-ref parameters at the stack side of the parameters. This means that in the stack frame iterator we do not need information about where anyref parameters are in the stack frame. We only need information about how many anyref parameters there are at the bottom of the stack frame. R=mstarzinger@chromium.org Also-By: mstarzinger@chromium.org Bug: v8:7581 Change-Id: I3ff7cc38fabed5f8e51b5b990190e35f3ea29803 Reviewed-on: https://chromium-review.googlesource.com/c/1371827 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#58184}
-
Clemens Hammacher authored
Chromium does not use this name any more since https://crrev.com/c/1369854, so we can deprecate it for the 7.3 branch. R=adamk@chromium.org Bug: v8:8238, chromium:912031 Change-Id: I0625f58a893f48d89dec76851af292c9c32af035 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1370035Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58183}
-
Predrag Rudic authored
Fix cfb5bb72 Change-Id: I2c59cd6716f35ba35dc4417e6b6c2a4588f7acd2 Reviewed-on: https://chromium-review.googlesource.com/c/1370034 Commit-Queue: Predrag Rudic <prudic@wavecomp.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58182}
-
Sathya Gunasekaran authored
Sets the hash default when dictionary is created. Migrates the hash correctly when the dictionary grows. Bug: v8:6443, v8:7569 Change-Id: I9195b557796b9bd3d040bd6f4f77d1f9ead4fc7d Reviewed-on: https://chromium-review.googlesource.com/c/1337744Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#58181}
-
Michael Achenbach authored
This pulls binutils from a subtreed repository of Chromium: https://chromium.googlesource.com/chromium/src/third_party/binutils/ Bug: chromium:718157 Change-Id: I532c7e84d83f716728e4f9f715cfdb82ea5d5f98 Reviewed-on: https://chromium-review.googlesource.com/c/1370043Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#58180}
-
Ross McIlroy authored
Also declare an implication between --stress-flush-bytecode and --flush-bytecode BUG=v8:8395 Change-Id: Ide60e17b283325c1142b07c4eb6f5c7af22d33e9 Reviewed-on: https://chromium-review.googlesource.com/c/1372070Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58179}
-
Clemens Hammacher authored
The comma was removed as part of this CL: https://crrev.com/c/1355144 But layout tests rely on this: https://crrev.com/c/1372232 Thus add it back. R=mslekova@chromium.org CC=ahaas@chromium.org, ssauleau@igalia.com Change-Id: I522cc9b448e5cf046074bf635bd9fc60ccf64795 Reviewed-on: https://chromium-review.googlesource.com/c/1373549Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58178}
-
Michael Lippautz authored
Allows adding a label to strong retainers in PersistentValueMapBase and its subclasses. These labels show up in DevTools and enable identifying strong retainers of objects. R: ulan@chromium.org Change-Id: Id5e19507c40e44688c82a4caec89449b563a0e8b Reviewed-on: https://chromium-review.googlesource.com/c/1372069Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58177}
-
Maya Lekova authored
R=yangguo@chromium.org TBR=sigurds@chromium.org Bug: v8:8577 Change-Id: Ia7c671d44d4142a394de6088b646bd32d26725ce Reviewed-on: https://chromium-review.googlesource.com/c/1372066Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#58176}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/510ff4c..e250719 Rolling v8/test/wasm-js/data: https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+log/4408f60..6fdf92b Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/74c92bb..149e7c6 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/fed2cb3..e760411 Rolling v8/third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk/+log/ac40df8..7914672 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I1f95a09001b683d456cb7ebe2ead54a0ff73e9c6 Reviewed-on: https://chromium-review.googlesource.com/c/1372855Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58175}
-
tzik authored
This CL merges MicrotaskContext management into EnteredContext, so that MicrotaskContext can nest. Here is a brief explanation: https://docs.google.com/document/d/1MY_xlsYS7E6_qbwwY66-FH3JkAYeTHBlF5qVBrBpWyY/edit Benchmark result: No significant performance difference is observed for this CL. See "patched" row for the result of this CL. Maintaining |is_microtask_context_| for the deprecated Isolate::GetEnteredContext() seems to cost 1~2% of the score, but that will be resolved eventually. https://github.com/v8/promise-performance-tests https://docs.google.com/spreadsheets/d/1-SpO4nQNxcXQZAfHN5CmEyAyCBd33wZ_CdF4U78e44I/edit#gid=1701841321 Bug: v8:8124 Change-Id: Ic709bccba9c32d37578e15a7571014ce50129459 Reviewed-on: https://chromium-review.googlesource.com/c/1322290Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58174}
-
Frank Tang authored
Fix intl402/*/ignore-invalid-unicode-ext-values Add tests for other valid/invalid -u- ext values. Bug: v8:7481 Change-Id: I429effd071bb03599a1e767bb2a9e9918a91b850 Reviewed-on: https://chromium-review.googlesource.com/c/1351307 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#58173}
-
- 11 Dec, 2018 19 commits
-
-
peterwmwong authored
As per (https://github.com/tc39/proposal-string-matchall/pull/41), String.p.matchAll's fallback was removed. Additionally, removed a IsNullOrUndefined check that was already covered by MaybeCallFunctionAtSymbol. Updates to Test262 has been submitted: https://github.com/tc39/test262/pull/1990 Bug: v8:6890 Change-Id: I246cbbcb4641ebded704c5f772809f182deaa30e Reviewed-on: https://chromium-review.googlesource.com/c/1369091 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#58172}
-
Jakob Kummerow authored
and non-recursive in order to let Clang inline it. Bonus: Drop IsTwoByteRepresentationUnderneath, which was dead code except for one test, and is semantically redundant. Bug: chromium:910573 Change-Id: I86f1c312e93ab875b4b42101ac65ddc94b1c9518 Reviewed-on: https://chromium-review.googlesource.com/c/1369086Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58171}
-
Igor Sheludko authored
when applicable. This CL also renames BodyDescriptorBase helpers IsValidSlotImpl() -> IsValidJSObjectSlotImpl() IterateBodyImpl() -> IterateJSObjectBodyImpl() to make it clear that these methods are only applicable to JSObject subclasses and fixes SmallOrderedHashTable::BodyDescriptor which used IsValidSlotImpl(). Bug: v8:8518 Change-Id: I11565bed6ebf56c6830ac0e21f866846e65025e6 Reviewed-on: https://chromium-review.googlesource.com/c/1372068 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58170}
-
Ulan Degenbaev authored
Bug: chromium:913448, chromium:912935, chromium:913482 Change-Id: Iea85d14a9695b8c8157400f92b9576285799c944 Reviewed-on: https://chromium-review.googlesource.com/c/1371831Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58169}
-
Clemens Hammacher authored
Callbacks can keep embedder objects alive, hence clear them after delivering the final event. R=ahaas@chromium.org Bug: chromium:912764 Change-Id: I9ac739bbce32cb1026991610e0720210717c333e Reviewed-on: https://chromium-review.googlesource.com/c/1371565 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58168}
-
peterwmwong authored
Micro-benchmarks show speed improvements across the various types: TypedArrays-JoinBigIntTypes 7246 8297 14.50% TypedArrays-JoinBigIntTypes 7194 8637 20.06% TypedArrays-JoinBigIntTypes 7258 8586 18.30% TypedArrays-JoinFloatTypes 24461 28628 17.04% TypedArrays-JoinFloatTypes 24523 29647 20.89% TypedArrays-JoinFloatTypes 24419 29327 20.10% TypedArrays-JoinIntTypes 23378 33928 45.13% TypedArrays-JoinIntTypes 23333 34034 45.86% TypedArrays-JoinIntTypes 21653 34000 57.02% TypedArrays-JoinWithSeparatorBigIntTypes 6620 7339 10.86% TypedArrays-JoinWithSeparatorBigIntTypes 6566 7579 15.43% TypedArrays-JoinWithSeparatorBigIntTypes 6631 7481 12.82% TypedArrays-JoinWithSeparatorFloatTypes 18695 19670 5.22% TypedArrays-JoinWithSeparatorFloatTypes 18518 20088 8.48% TypedArrays-JoinWithSeparatorFloatTypes 18482 20193 9.26% TypedArrays-JoinWithSeparatorIntTypes 17849 21482 20.35% TypedArrays-JoinWithSeparatorIntTypes 17831 21578 21.01% TypedArrays-JoinWithSeparatorIntTypes 17937 21578 20.30% Drive-by: Removed unused CSA helper InternalArrayCreate. Bug: v8:7624 Change-Id: I8e63815982439cfd2267417d03cd2b71b4b7a812 Reviewed-on: https://chromium-review.googlesource.com/c/1369330 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#58167}
-
Clemens Hammacher authored
The vast majority of places puts a semicolon after these macros (DISALLOW_ASSIGN, DISALLOW_COPY_AND_ASSIGN). Thus remove the semicolon from the definition and fix the few places that omitted the semicolon at the use. R=mlippautz@chromium.org Bug: v8:8562 Change-Id: Id730576f3061b86d8a5cee0e0b9b762f693f16ec Reviewed-on: https://chromium-review.googlesource.com/c/1371824Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58166}
-
Clemens Hammacher authored
The AsyncCompileJob should be decoupled from tiering, hence the top-tier-finished callback should not be delivered via the AsyncCompileJob. Instead, store it directly on the CompilationState. R=ahaas@chromium.org Bug: v8:8050, v8:7921, chromium:912031 Change-Id: Iebd64655667a8078c34caea4edeb6cf5f40833fd Reviewed-on: https://chromium-review.googlesource.com/c/1371604Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58165}
-
Ross McIlroy authored
BUG=v8:8395 Change-Id: Ia1eff1af446c346f27cc405eb4205e3a8c219086 Reviewed-on: https://chromium-review.googlesource.com/c/1371830Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58164}
-
peterwmwong authored
This patch adds micro-benchmarks for TypedArray#join with and without a separator. The benchmark can be used to measure any TypedArray#join optimizations we implement in the future. Test: tools/run_perf.py --binary-override-path=out/x64.release/d8 \ --filter JSTests/TypedArrays/Join \ test/js-perf-test/JSTests.json Bug: v8:7624 Change-Id: I526af50da0eff400d21b807ba30a9de2c3d87476 Reviewed-on: https://chromium-review.googlesource.com/c/1369333Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#58163}
-
Tobias Tebbi authored
Bug: chromium:913212 Change-Id: I6bc4bb313d17840cc778d9d8c2eb3c6f2cc024a1 Reviewed-on: https://chromium-review.googlesource.com/c/1371605Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58162}
-
Caitlin Potter authored
This makes the deoptimizer happy, and is more consistent with other Torque JS functions. BUG=chromium:912504, v8:8021 R=tebbi@chromium.org, danno@chromium.org, mvstanton@chromium.org, gsathya@chromium.org Change-Id: I4c86db9549c367dfab7f76b49a0cf3c69d3ec50b Reviewed-on: https://chromium-review.googlesource.com/c/1366397 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#58161}
-
Jaroslav Sevcik authored
We assert that loops always have effect phis because there must be a stack check in every loop. However, with generators, the stack check may end up outside of loop because the dispatch switch is built first (while the dispatch switch will also keep the loop backedge alive). The logic for creating effect phis is already in the code, so removing the dcheck should be fine. Bug: chromium:913232 Change-Id: Icf4df831e8b47350543c2b82a34bd3af98782a16 Reviewed-on: https://chromium-review.googlesource.com/c/1372065Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#58160}
-
Andreas Haas authored
These are some tests I thought were missing. I wrote another test which crashes because of missing safepoint maps. I will add it in a separate CL which includes also the implementation. R=herhut@chromium.org Bug: v8:7581 Change-Id: Ibcc3b9ddab0f95580eb31fe78c84a26186a74db5 Reviewed-on: https://chromium-review.googlesource.com/c/1370039Reviewed-by: Stephan Herhut <herhut@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58159}
-
Ross McIlroy authored
This change makes the SFI to bytecode link pseudo-weak. The marking visitors check whether the bytecode is old, and if so, don't mark it and instead push the SFI onto a bytecode_flushing_candidates worklist. Once marking is complete, this list is walked, and for any of the candidates who's bytecode has not been marked (i.e., is only referenced by the shared function info), the bytecode is flushed and the SFI has the function data replaced with an UncompiledData (which overwrites the flushed bytecode array). Since we don't track JSFunctions, these can still think the underlying function is compiled, and so calling them will invoke InterpreterEntryTrampoline. As such, logic is added to InterpreterEntryTrampoline to detect flushed functions, and enter CompileLazy instead. BUG=v8:8395 Change-Id: I4afba79f814ca9a92dec45d59485935845a6669d Reviewed-on: https://chromium-review.googlesource.com/c/1348433 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58158}
-
Sigurd Schneider authored
This is a experiment to see how performance is impacted. If we tank too much, we can revert this change. Change-Id: I01be33f5dd78aee6a5beecdc62adbaa6c3850eb1 Bug: v8:8344 Reviewed-on: https://chromium-review.googlesource.com/c/1355279 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#58157}
-
Clemens Hammacher authored
This was done via {managed_native_module()->get()}. Add a simple getter for that. R=ahaas@chromium.org Bug: v8:8562 Change-Id: I8e461a8e16b618abdb772098fad3a6b721d54902 Reviewed-on: https://chromium-review.googlesource.com/c/1371564Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58156}
-
Clemens Hammacher authored
Since implicit returns are gone, this environment is never being used. R=titzer@chromium.org Bug: v8:8423 Change-Id: I24d61a1316433fde6835fd608c3d308592721a5c Reviewed-on: https://chromium-review.googlesource.com/c/1371569 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#58155}
-
Ross McIlroy authored
These functions have been marked V8_DEPRECATE_SOON for a long time, now all uses have been removed from Chrome, mark them as deprecated. BUG=v8:7287,v8:8238 Change-Id: I47b23588231ca510ec2475cb476e4134c05e162a Reviewed-on: https://chromium-review.googlesource.com/c/1356517Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58154}
-