- 25 Apr, 2018 21 commits
-
-
Camillo Bruni authored
This is is a preparatory CL to detach the JSFunction from the Context. We mainly rewrite the DebugScopeInterator to no longer rely on the a JSFunction to be around. Additionally the empty_function needs to have a proper ScopeInfo now. Drive-by-fix: Improve ScopeInfo debug printing Bug: v8:7066 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I2f2fa0e78914a12e076384e0e1234c2322ad1ee8 Reviewed-on: https://chromium-review.googlesource.com/918721 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52791}
-
Camillo Bruni authored
- 30% speedup by adding HeapObject shortcut for Heap::InNewSpace Bug: chromium:835558 Change-Id: I48b5ec43a5ecdd7d82827c955ab418fdeff449d8 Reviewed-on: https://chromium-review.googlesource.com/1027471 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#52790}
-
Ben Smith authored
The mutable-globals proposal spec allows importing as Numbers or WebAssembly.Global values, but always exports as WebAssembly.Global. Since the value is always boxed, we can also import/export i64 values. This CL also includes support for export of mutable globals. Since the underlying ArrayBuffer that stores the global's value is shared between the module and the WebAssembly.Global object, all that needs to be done is remove the validation check. Bug: v8:7625 Change-Id: I24d763e3bc193d229a7cc33b2f2690a473c6f2bc Reviewed-on: https://chromium-review.googlesource.com/1018406 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52789}
-
Andrew Grieve authored
And tweak --depot-tools to go first on PATH Change-Id: Iee53d84fd028ac0c2de6f872184cbce51e84c54f Reviewed-on: https://chromium-review.googlesource.com/1028210Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: agrieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/master@{#52788}
-
Kim-Anh Tran authored
Statistics need to be updated after top-tier code is added to the native module. Change-Id: Ie3a76caf233a2c3929b40fd0371c3069724b5289 Reviewed-on: https://chromium-review.googlesource.com/1027854Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@google.com> Cr-Commit-Position: refs/heads/master@{#52787}
-
Camillo Bruni authored
Iterate over all descriptors instead of bailing out early and missing enumerable properties later. Bug: chromium:836145 Change-Id: I104f7ea89480383b6b4b9204942a166bdf8e0597 Reviewed-on: https://chromium-review.googlesource.com/1027832Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52786}
-
Clemens Hammacher authored
This adds support for i64.div_s, i64.div_u, i64.rem_s, and i64.rem_u. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I37e564684b278c8d2f664a859851c67f4bd83190 Reviewed-on: https://chromium-review.googlesource.com/1027612Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52785}
-
Clemens Hammacher authored
R=ahaas@chromium.org Bug: v8:6600 Change-Id: Iaa46324dfcf3b20f42d6a7448fca9ef2bbf241e9 Reviewed-on: https://chromium-review.googlesource.com/1027851 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52784}
-
Predrag Rudic authored
Change-Id: Ide0b3cab6c1cdb6cbb1b189852b309e08c1c504f Reviewed-on: https://chromium-review.googlesource.com/1028010Reviewed-by: Sreten Kovacevic <sreten.kovacevic@mips.com> Commit-Queue: Sreten Kovacevic <sreten.kovacevic@mips.com> Cr-Commit-Position: refs/heads/master@{#52783}
-
Sigurd Schneider authored
This CL also introduces an effect dependent simplified operator DateNow and associated lowerings. Bug: v8:7340, v8:7250 Change-Id: Icd4a8c3c45a8dbe7ef490fc3ee68c0c68bbed011 Reviewed-on: https://chromium-review.googlesource.com/1024836 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52782}
-
Andreas Haas authored
R=titzer@chromium.org Change-Id: I8cd8035cbe0b2703e8aa8ed2b2492023edf2b91e Reviewed-on: https://chromium-review.googlesource.com/1026674Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52781}
-
Andreas Haas authored
TBR=machenbach@chromium.org Bug: v8:7631 No-Tree-Checks: true No-Try: true Change-Id: Iace8fae7fcbdd1766394ee30d0c1e54f3a29e2b9 Reviewed-on: https://chromium-review.googlesource.com/1027852 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52780}
-
Kim-Anh Tran authored
We want to ensure that all runtime objects are created as soon as compilation finishes. Instead of scheduling another foreground thread to create these runtime objects, we now call it directly from the already executing foreground thread. Change-Id: I9e8f47dba237de16e0bac119f1649496c8525b37 Reviewed-on: https://chromium-review.googlesource.com/1027712Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@google.com> Cr-Commit-Position: refs/heads/master@{#52779}
-
Michael Achenbach authored
Infra sanity testing after https://crrev.com/c/1019080 TBR=santa Change-Id: I7cadb6991ed2d9903f8cdd4d21e97f5a058eadf0 Reviewed-on: https://chromium-review.googlesource.com/1027830 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52778}
-
Andreas Haas authored
I missed one required change which was hidden behind an #if. The fix is in the diff between Patch 1 and Patch 3. Original message: In this CL I remove the isolate from signatures of ExternalReference accessor functions where the isolate is not used. The uses of the isolate were already removed in previous CLs. Changes: * I split the ExternalReference list in external-reference.h into those which need the isolate for initialization and those which do not. * I removed the public constructors and replaced them by ExternalReference::Create(). The reason is to separate external creation more clearly from internal creation, because externally created ExternalReferences sometimes need redirection, whereas internally created ExternalReferences are just stored as they are. In addition, by removing the isolate from the signature of the public constructors, they suddenly exactly matched the interal constructor. * Replace all uses of the public constructors with ExternalReference::Create(). * Remove the isolate from all call sites where necessary. This is a step towards making WebAssembly compilation independent of the isolate. R=mstarzinger@chromium.org Bug: v8:7570 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I750c162f5d58ed32e866722b0db920f8b9bd8057 Reviewed-on: https://chromium-review.googlesource.com/1026673Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52777}
-
Simon Zünd authored
This CL implements TypedArray.p.sort in Torque. The Torque version works basically the same as the existing JS builtin: When no comparison function is provided, the C++ fast path builtin is used. Otherwise a quicksort written in Torque is used, with a InsertionSort fallback for smaller arrays. The JS quicksort implementation also containes a more elaborate third pivot calculation for larger arrays. This is currently not done. Reported benchmark results are only for those, where a custom comparison function is provided. The numbers for the C++ path stayed the same. Benchmark Current (JS) Torque Speedup IntTypes 83.9 263.7 3.1 BigIntTypes 32.1 54.6 1.7 FloatTypes 99.3 138.7 1.4 R=danno@chromium.org, jgruber@chromium.org Bug: v8:7382 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I7abe7ceff525bab24f302d2f06b5961cca770d24 Reviewed-on: https://chromium-review.googlesource.com/1021691 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52776}
-
Predrag Rudic authored
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I3fc1b53c43e53e12e041178912f372f33068d67c Reviewed-on: https://chromium-review.googlesource.com/1023418 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#52775}
-
Georg Neis authored
Bug: chromium:836124 Change-Id: I82d29408476c9c5b2c62a6368f32575e33932ef3 Reviewed-on: https://chromium-review.googlesource.com/1025890Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#52774}
-
Simon Zünd authored
This CL changes the DECIMAL_LITERAL lexer rule to allow negative decimal literals as well. This could also be achieved by using the unary minus operation, which would occur an runtime overhead and feel counter-intuitive for literals (imho). R=tebbi@chromium.org Change-Id: Ib01aa1930254bcd85a161de385b0fd4f176feb46 Reviewed-on: https://chromium-review.googlesource.com/1027473Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Simon Zünd <szuend@google.com> Cr-Commit-Position: refs/heads/master@{#52773}
-
Jaroslav Sevcik authored
This is just code reshuffling to enable changing Type* to Type. Bug: v8:3770 Change-Id: I8ed4ff41b480cab377d115c57c49d6f6c0c46d6d Reviewed-on: https://chromium-review.googlesource.com/1025897Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#52772}
-
jing.bao authored
I16x8SConvertI32x4, I16x8UConvertI32x4, I8x16SConvertI16x8, I8x16UConvertI16x8 Change-Id: Iab462c3fb6c60de7b54a925e438862362605fe8d Reviewed-on: https://chromium-review.googlesource.com/1016178Reviewed-by: Aseem Garg <aseemgarg@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Jing Bao <jing.bao@intel.com> Cr-Commit-Position: refs/heads/master@{#52771}
-
- 24 Apr, 2018 19 commits
-
-
Erik Luo authored
This expands the SideEffectType flag to cover whitelisting embedder callbacks that are setup with Template accessors. - v8::ObjectTemplate::SetNativeDataProperty - v8::ObjectTemplate::SetLazyDataProperty - v8::ObjectTemplate::SetAccessor Bug: v8:7515 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ieda6c793141ab249c4f41d00e6572fe2a29ac629 Reviewed-on: https://chromium-review.googlesource.com/1015896Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Erik Luo <luoe@chromium.org> Cr-Commit-Position: refs/heads/master@{#52770}
-
Andreas Haas authored
This reverts commit 44ea425a. Reason for revert: https://ci.chromium.org/buildbot/client.v8.ports/V8%20Arm%20-%20debug%20builder/13575 Original change's description: > [refactoring] Remove the isolate from signatures of ExternalReferences > > In this CL I remove the isolate from signatures of ExternalReference > accessor functions where the isolate is not used. The uses of the > isolate were already removed in previous CLs. > > Changes: > * I split the ExternalReference list in external-reference.h into > those which need the isolate for initialization and those which do not. > > * I removed the public constructors and replaced them by > ExternalReference::Create(). The reason is to separate external > creation more clearly from internal creation, because externally > created ExternalReferences sometimes need redirection, whereas > internally created ExternalReferences are just stored as they are. > In addition, by removing the isolate from the signature of the > public constructors, they suddenly exactly matched the interal > constructor. > > * Replace all uses of the public constructors with > ExternalReference::Create(). > > * Remove the isolate from all call sites where necessary. > > > This is a step towards making WebAssembly compilation independent of > the isolate. > > Bug: v8:7570 > R=mstarzinger@chromium.org > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I14f511fc6acc50ab2d6a6641299f5ddbeabef0da > Reviewed-on: https://chromium-review.googlesource.com/1018982 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52768} TBR=mstarzinger@chromium.org,ahaas@chromium.org Change-Id: I7c0d8d420f815cede23d550dee8942ac4d7791cc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7570 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1026570Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52769}
-
Andreas Haas authored
In this CL I remove the isolate from signatures of ExternalReference accessor functions where the isolate is not used. The uses of the isolate were already removed in previous CLs. Changes: * I split the ExternalReference list in external-reference.h into those which need the isolate for initialization and those which do not. * I removed the public constructors and replaced them by ExternalReference::Create(). The reason is to separate external creation more clearly from internal creation, because externally created ExternalReferences sometimes need redirection, whereas internally created ExternalReferences are just stored as they are. In addition, by removing the isolate from the signature of the public constructors, they suddenly exactly matched the interal constructor. * Replace all uses of the public constructors with ExternalReference::Create(). * Remove the isolate from all call sites where necessary. This is a step towards making WebAssembly compilation independent of the isolate. Bug: v8:7570 R=mstarzinger@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I14f511fc6acc50ab2d6a6641299f5ddbeabef0da Reviewed-on: https://chromium-review.googlesource.com/1018982 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52768}
-
Eric Holk authored
This adds two new UMA histograms to give us more insight into Wasm memory allocation. The first records the result of every attempt to to allocate a Wasm backing store. This will let us know things like how often we explicitly trigger a GC, or how often we hit our address space limit. The second records how many megabytes of address space Wasm reserves. A sample is added every time the number either increases or decreases. This metric will give us a sense of how many outstanding Wasm memories there are in typical usage. Change-Id: I38c1bc1ad915c26b6cda3c373ededdd395193a4c Reviewed-on: https://chromium-review.googlesource.com/1024646 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#52767}
-
Sathya Gunasekaran authored
... from BaseCollectionsAssembler Bug: v8:7569 Change-Id: I938257b18372bbe8a43af3f25c85d192950be8fa Reviewed-on: https://chromium-review.googlesource.com/1026053 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52766}
-
Sathya Gunasekaran authored
.. from BaseCollectionsAssembler Bug: v8:7569 Change-Id: I87fd35dbd82ad5752c857f35b63403ca348bf305 Reviewed-on: https://chromium-review.googlesource.com/1024700Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#52765}
-
Clemens Hammacher authored
This adds support for i32.rem_u and i32.rem_s, implemented on ia32 and x64. R=ahaas@chromium.org Bug: v8:6600 Change-Id: Id08a51f7a0dcb7a1ed43c5a97be7a7dafff85397 Reviewed-on: https://chromium-review.googlesource.com/1023932Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52764}
-
Dan Elphick authored
Use StringConstant instead of NewStringFromAsciiChecked so strings are deduplicated. Change-Id: I0c5395be6d06caacd7d257b61bd2372da2fce427 Reviewed-on: https://chromium-review.googlesource.com/1025815Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52763}
-
Clemens Hammacher authored
This avoids some code duplication. R=mstarzinger@chromium.org Bug: v8:7570 Change-Id: Ib8f9095945e688e24351529f8e782614453f2161 Reviewed-on: https://chromium-review.googlesource.com/1023416Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52762}
-
Andrew Grieve authored
Makes builds go faster by not having to re-run "gn gen" unnecessarily Also adds a bunch of flags that configure uses. --max-load --max-jobs --extra-gn-args --depot-tools --bundled-win-toolchain NOTRY=true NOTREECHECKS=true Change-Id: I6555623468d2b11d188ca29563586f5ea9b4dda9 Reviewed-on: https://chromium-review.googlesource.com/1016582 Commit-Queue: agrieve <agrieve@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52761}
-
Andrew Grieve authored
NOTRY=true NOTREECHECKS=true Change-Id: I6a9f671a9c3db4fb2eb346ccdf80a10d3e7a5040 Reviewed-on: https://chromium-review.googlesource.com/1025952Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: agrieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/master@{#52760}
-
Kim-Anh Tran authored
Wasm tier-up first compiles the whole module using Liftoff, and then using Turbofan. The idea is to achieve fast start-up times by first running Liftoff-compiled code. In the meantime we finish compilation with Turbofan, and replace the Liftoff-compiled code as soon as Turbofan finished compilation, thus achieving high performance. Tier-up is enabled through the flag FLAG_wasm_tier_up. Bug: v8:6600 Change-Id: I70552969c53d909a591666a1e7ce1ee1419b2f34 Reviewed-on: https://chromium-review.googlesource.com/1010422 Commit-Queue: Kim-Anh Tran <kimanh@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52759}
-
Andreas Haas authored
This CL splits the definition of ValueType and its helper functions into its own header file. R=clemensh@chromium.org Bug: v8:7570 Change-Id: I3aa776edb45839d7d38836e131df45732c685310 Reviewed-on: https://chromium-review.googlesource.com/1021810 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#52758}
-
Sigurd Schneider authored
This CL introduces a JSOperator for Array.isArray and moves the corresponding lowering to JSCallReducer and JSTypedLowering. Bug: v8:7340, v8:7250 Change-Id: Iaa7ced2ad34bec8cccc9da1041007261168cf4b3 Reviewed-on: https://chromium-review.googlesource.com/1025092 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52757}
-
Sigurd Schneider authored
Bug: v8:7679 Change-Id: If8b6d9ad4f93eb2b98878c916625b7a344e5900c Reviewed-on: https://chromium-review.googlesource.com/1021532Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52756}
-
Andreas Haas authored
WebAssembly.instantiate is polymorphic, it can either take a module object as parameter, or a buffer source which should be compiled first. To share code between the two implementations, the module object was first passed to a promise (i.e. which is the result of compilation). However, passing the module object to a promise has a side effect if the module object has a then function. To avoid this side effect I remove this code sharing and call AsyncInstantiate directly in case the parameter is a module object. R=mstarzinger@chromium.org Bug: chromium:836141 Change-Id: I67b76d0d7761c5aeb2cf1deda45b6842e494eed4 Reviewed-on: https://chromium-review.googlesource.com/1025774Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52755}
-
Clemens Hammacher authored
Passing a pointer of the needed type, and then reading using ReadUnalignedValue is pointless, since the compiler can assume alignment of the pointer value. This CL fixes the remaining external refs of wasm to take an Address to a single buffer. R=ahaas@chromium.org Bug: v8:7570, v8:3770 Change-Id: If8a7324a4703e1e900cb3c5644baef207e6a371d Reviewed-on: https://chromium-review.googlesource.com/1023406 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52754}
-
Kenton Varda authored
For use cases with a large number of threads or a large number of isolates (or both), ThreadDataTable can be a major performance bottleneck due to O(n) lookup time of the linked list. Switching to a hash map reduces this to O(1). Example 1: Sandstorm.io, a Node.js app that utilizes "fibers", was observed spending the majority of CPU time iterating over the ThreadDataTable. See: https://sandstorm.io/news/2016-09-30-fiber-bomb-debugging-story Example 2: Cloudflare's Workers engine, a high-multi-tenancy web server framework built on V8 (but not Node), creates large numbers of threads and isolates per-process. It saw a 34x improvement in throughput when we applied this patch. Cloudflare has been using a patch in production since the Workers launch which replaces the linked list with a hash map -- but still global. This commit builds on that but goes further and creates a separate hash map and mutex for each isolate, with the table being a member of the Isolate class. This avoids any globals and should reduce lock contention. Bug: v8:5338 Change-Id: If0d11509afb2e043b888c376e36d3463db931b47 Reviewed-on: https://chromium-review.googlesource.com/1014407Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52753}
-
Marja Hölttä authored
BUG=v8:7490 Change-Id: I03421657d4abc3cd6e27ffafa6b922ea0e83b2b4 Reviewed-on: https://chromium-review.googlesource.com/1016381 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#52752}
-