- 18 Aug, 2017 22 commits
-
-
Adam Klein authored
This patch removes unnecessary scope creation for C-style, for-in, and for-of loops containing var declarations. Only loops with LET or CONST declarations require additional scoping up-front. After this patch lands, I intend to apply this simplification (as well as that from fa15ba5a) to for-await loops. Bug: v8:6724 Change-Id: I9962432d1e059d8eefb577e7b512bc2321a03140 Reviewed-on: https://chromium-review.googlesource.com/619987Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47436}
-
Adam Klein authored
Before 983eec89, RewritableExpressions which had been queued for destructuring assignment rewriting but which turned out to be part of a binding pattern in arrow function parameters would be silently ignored by the PatternRewriter. After that CL, they failed with a DCHECK. This patch reverts to the previous behavior, with a TODO to handle this in a better way by dequeuing RewritableExpressions that turned out to be part of an inner arrow function. Bug: chromium:756332 Change-Id: I0a9bf51499940c944034d9a8128e89950de38059 Reviewed-on: https://chromium-review.googlesource.com/619506Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47435}
-
Ben L. Titzer authored
This hides more implementation details and simplifies callers. R=ahaas@chromium.org Bug: Change-Id: I4809611c55b810a3b0674713e12f3f17401e6c9c Reviewed-on: https://chromium-review.googlesource.com/620713Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47434}
-
Jakob Kummerow authored
Many handlers are not used again, so we can improve the cache hit rate by caching fewer handlers. Specifically, in this CL, when a StoreIC miss causes a new map transition to be created, then the handler is not cached right away yet (it will be cached next time, when the transition exists already). Also, fix an embarrassing bug where growing a TransitionArray dropped cached handlers. That further improves the cache hit rate. ;-) Bug: chromium:752867, chromium:753819 Change-Id: Id8db5ca1e780a5fe8fc61db7f20996e61c65a90e Reviewed-on: https://chromium-review.googlesource.com/619851Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47433}
-
Alexandre Talon authored
The TODO was about wrapping together the sourceposition iterator and the bytecode iterator. Since the first one is useful in fewer parts than the second, and the bytecode iterator is more flexible to advance than the sourceposition iterator, and we would not gain that much more readability, this TODO is removed. TBR=mstarzinger@chromium.org Bug: Change-Id: I104d0f5f0cd01686ea48d209419bd6bb2ed19bcf Reviewed-on: https://chromium-review.googlesource.com/621106 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47432}
-
Ulan Degenbaev authored
After dfc6b4dd the space size can decrease if the sweeper discovers new fillers added after marking (e.g. by array trimming). Bug: chromium:756832 Change-Id: Ibf420593bd12a4fe13a1e47f862302025b52ad58 Reviewed-on: https://chromium-review.googlesource.com/620734Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47431}
-
Choongwoo Han authored
(source_length - 1) can be overflowed, and cause OOB access when source_length is zero. Thus, just do not operate setting if source_length is zero when starting TypedArraySetFromOverlapping. Bug: v8:6704 Change-Id: I5da60590c9a197eae96625a12720f6818b8c598a Reviewed-on: https://chromium-review.googlesource.com/620452 Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47430}
-
Maya Lekova authored
The crash used to happen when trap is a Smi. Bug: chromium:756608 Change-Id: I0a6f0328afc64d8e521b5b370a291f9aef6b08d0 Reviewed-on: https://chromium-review.googlesource.com/620647Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47429}
-
Sebastien Marchand authored
The MSVC2017 build of Chrome fais with the following message: c:\src\chrome\src\out\debug\gen\base\trace_event\common\../../../../../../v8/src/wasm/wasm-js.cc(76): error C2872: 'byte': ambiguous symbol c:\src\chrome\src\out\debug\gen\base\trace_event\common\../../../../../../v8/src/wasm/wasm-js.cc(25): note: could be 'uint8_t byte' C:\src\chrome\src\v8\src/globals.h(141): note: or 'v8::internal::byte' Bug: chromium:683729 Change-Id: Icbc25cd1296d19b8c3942c5d968434ec03707c2f Reviewed-on: https://chromium-review.googlesource.com/617405Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Sébastien Marchand <sebmarchand@chromium.org> Cr-Commit-Position: refs/heads/master@{#47428}
-
Ulan Degenbaev authored
Bug: chromium:694255 Change-Id: I8cf30b440055637f91c16df6d3672d9268a2ae83 Reviewed-on: https://chromium-review.googlesource.com/620710 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47427}
-
Franziska Hinkelmann authored
Bug: v8:6704 Change-Id: I153a8d3501de19f4e5d9c580060f987f169b5edd Reviewed-on: https://chromium-review.googlesource.com/617000Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47426}
-
Marja Hölttä authored
This reverts commit 0d51a259. Reason for revert: Bot is broken; makes no sense to run the experiment now. Original change's description: > [parser] FLAG_aggressive_lazy_functions = true for a test run. > > Just to get the RuntimeCallstats data. To be reverted soon. > > BUG=v8:5516 > NOTREECHECKS=true > > Change-Id: I4bb436900a79bb383bf8132002a129b601efdfe3 > Reviewed-on: https://chromium-review.googlesource.com/618987 > Reviewed-by: Adam Klein <adamk@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47416} TBR=adamk@chromium.org,machenbach@chromium.org,marja@chromium.org Change-Id: I8506ae7e1e16a4d0b320a486f743c01f7f82e0f2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5516 Reviewed-on: https://chromium-review.googlesource.com/620749Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47425}
-
Benedikt Meurer authored
In LoadElimination, don't consider two fields as potentially aliasing if they have different names. This gives another 5% boost on the Octane/DeltaBlue benchmark, since the redundant loads and checks on the elms of the OrderedCollection can be properly eliminated in the chainTest. Bug: v8:5267 Change-Id: Id2dbb8cac02f9c95a85e5cc8acac3f66b679fd06 Reviewed-on: https://chromium-review.googlesource.com/620727Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47424}
-
Ulan Degenbaev authored
Bug: chromium:694255 Change-Id: I076a41230c559d5aa8540753bb3c42b46bc66ff1 Reviewed-on: https://chromium-review.googlesource.com/620664Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47423}
-
Ulan Degenbaev authored
The name of the histogram is V8.GCIncrementalMarkingSum. Bug: chromium:756592 Change-Id: Ib073e846054550cce8558a3a577a0451e3182407 Reviewed-on: https://chromium-review.googlesource.com/618877 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47422}
-
Albert Mingkun Yang authored
Fix MaxIndex in test-gap-resolver.cc so that the above check doesn't fire. Change-Id: I6588800281d797f3f8b33ced4c1b03315196fe44 Reviewed-on: https://chromium-review.googlesource.com/618809Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Albert Mingkun Yang <albertnetymk@google.com> Cr-Commit-Position: refs/heads/master@{#47421}
-
Ben L. Titzer authored
This CL is a precursor to the callback-based enumeration of frame summaries. It removes the reliance of FrameInspector on having a cached copy of the FrameSummary, instead unpacking it to instance variables so that clients of FrameInspector do not need to get information from two sources (the FrameSummary and the FrameInspector itself). R=yangguo@chromium.org Bug: Change-Id: Ib388566c2e1a1147ee0a581323932982a29ae4ff Reviewed-on: https://chromium-review.googlesource.com/618334 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47420}
-
Ben L. Titzer authored
This is a followup to moving the ModuleEnv to the compiler directory and making it immutable. R=mtrofin@chromium.org, ahaas@chromium.org Bug: Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0 Reviewed-on: https://chromium-review.googlesource.com/616762 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#47419}
-
Ben L. Titzer authored
This CL (finally) makes the contract between the compiler and the module environment clear. In order to compile a function, the caller must provide an instance of the compiler::ModuleEnv struct, which contains references to code, function and signature tables, memory start, etc. R=mtrofin@chromium.org,ahaas@chromium.org Bug: Change-Id: I68e44d5da2c5ad44dad402029c2e57f2d5d25b4f Reviewed-on: https://chromium-review.googlesource.com/613880Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47418}
-
Benedikt Meurer authored
The MapGuard node sits in the effect chain as a hint for other optimization passes that a certain value has a certain (set of) map(s) guarded by checks on the control chain. This is useful to learn from explicit control flow inserted for polymorphic property accesses, and then used as part of the polymorphic inlining. This change improves the score on the Octane/DeltaBlue benchmark by around 7-8% and the score on the Octane/Richards benchmark by like 3% on average. Bug: v8:5267 Change-Id: Id0b0b2c72e6a9342d5750a0d62cf6be6fb8c5916 Also-By: jarin@chromium.org Reviewed-on: https://chromium-review.googlesource.com/620586 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47417}
-
Marja Hölttä authored
Just to get the RuntimeCallstats data. To be reverted soon. BUG=v8:5516 NOTREECHECKS=true Change-Id: I4bb436900a79bb383bf8132002a129b601efdfe3 Reviewed-on: https://chromium-review.googlesource.com/618987Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47416}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/bee933a..4fc2460 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/f90f6a5..d36e2d9 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/cd8447f..d9436e5 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: Ia1315802b2fa557ce964d517b232a57eb72340eb Reviewed-on: https://chromium-review.googlesource.com/620389Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#47415}
-
- 17 Aug, 2017 18 commits
-
-
Ulan Degenbaev authored
The race happens during evacuation when multiple threads access the main space capacity to check CanExpandOldGeneration. Bug: chromium:694255 Change-Id: I63dbb71cc3a894f85ee11411a5dc01d53daefa11 Reviewed-on: https://chromium-review.googlesource.com/618876 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47414}
-
Ali Ijaz Sheikh authored
Some preperatory refactoring to allow observation of inline allocations from Old Space. BUG=chromium:633920 Change-Id: Ia1232591860729fcd8942d816aa454171d3aec33 Reviewed-on: https://chromium-review.googlesource.com/617923Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#47413}
-
Ulan Degenbaev authored
This also starts black allocation earlier if concurrent marking compile time flag is on. Bug: chromium:694255 Change-Id: I73c02676e5149fae10e5f9301ad585926e223a1d Reviewed-on: https://chromium-review.googlesource.com/618893Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47412}
-
Franziska Hinkelmann authored
This is a reland of a50b6751 Original change's description: > [runtime] Port TypedArraySetFormArrayLike to C++ > > Bug: v8:6704 > Change-Id: I316f085801f4fb6a792124f9a6f80a16e6d43162 > Reviewed-on: https://chromium-review.googlesource.com/616721 > Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47369} Bug: v8:6704 Change-Id: Id07f141f5f695e871248b4e5dcde0e7aa04e5493 TBR=bmeurer@chromium.org Change-Id: Id07f141f5f695e871248b4e5dcde0e7aa04e5493 Reviewed-on: https://chromium-review.googlesource.com/619214 Commit-Queue: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47411}
-
Ulan Degenbaev authored
VERIFY_HEAP does not necessarily imply DEBUG. Bug: chromium:694255 TRB: mlippautz@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: I1699288bd9d826ea1d577dd4fc2de81ee450add7 Reviewed-on: https://chromium-review.googlesource.com/618892 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47410}
-
Ulan Degenbaev authored
This patch changes how space size and capacity are updated in GC: - space capacity changes only when a page added/removed from the space. - space size is reset to zero before sweeping and incremented by page->live_bytes_count_ for each to-be-swept page. - space size is refined after sweeping using the accurate page->allocated_bytes counter produces by the sweeper. Invariants: 1. space.capacity = sum [page.size | for page in space]. 2. After marking, before sweeping: a) space.size = sum [page.live_bytes_count | for page in space]. 3. After sweeping, before marking ends: a) space.size = sum [page.allocated_bytes | for page in space]. b) page.allocated_bytes >= (sum [object.size | for object in page] + page.linear_allocation_area). c) page.area_size = (page.allocated_bytes + page.wasted_memory + sum [free_list_entry.size | for free_list_entry in page]. 3.b becomes equality if the mutator is not doing array trimming, object slack tracking during sweeping. Bug: chromium:694255 Change-Id: Ic8d16a8171187a113fee2df8bf3c2a4c5e77bc08 Reviewed-on: https://chromium-review.googlesource.com/618889 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#47409}
-
Ali Ijaz Sheikh authored
There is no need to add speed-bumps for incremental marking purposes for allocations from CompactionSpaces. This path was getting reached for Parallel Scavenges. Bug: Change-Id: I1f0f315549206bc86f8c48e202c29c18d212369b Reviewed-on: https://chromium-review.googlesource.com/617920Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#47408}
-
Marja Hölttä authored
The bug was that we didn't track using await as a class name inside arrow function formal parameters, and hence didn't recognize the error in this case: async(x = class await {}) => {} BUG=v8:6714 Change-Id: Iabe6c947a4f621fb72361671d77f4765ba1a9578 Reviewed-on: https://chromium-review.googlesource.com/616776Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47407}
-
Adam Klein authored
Before this patch, the parser mixed mixed "Null" and "Empty" as names for null placeholder instances in ParserBase. Confusingly, those meant different things in case of Statements. This patch uses "Null" anywhere the meaning is "== nullptr" in the Parser. It also makes use of std::nullptr_t and templatized IsNull() methods to reduce the amount of boilerplate needed in both the Parser and PreParser. Change-Id: I1451ba56d1a56466beb7e0c91dcf8e2bb7084413 Reviewed-on: https://chromium-review.googlesource.com/618167 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47406}
-
Jaroslav Sevcik authored
This improves delta blue by about >5%. Unfortunately, this still does not help load and check elimination because we do not learn maps from control flow. Change-Id: I49a97dbc40576b9bc80c87ec2b459e37ba9b4440 Bug: v8:5267 Reviewed-on: https://chromium-review.googlesource.com/618328 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47405}
-
Adam Klein authored
This patch handles C-style, as well as for-in/of loops. for-await loops will be changed in a followup. Bug: v8:6724 Change-Id: I264b8c2d41c0318e796839bf204f7d77b6d24dd8 Reviewed-on: https://chromium-review.googlesource.com/617410Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47404}
-
Caitlin Potter authored
Move the desugaring into BytecodeGenerator per TODOs. BUG=v8:6472 R=tebbi@chromium.org, rmcilroy@chromium.org, jgruber@chromium.org Change-Id: Ic482bee18d6e6fe73de4c5f9abaf4feda7be2dd5 Reviewed-on: https://chromium-review.googlesource.com/550396Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#47403}
-
Ross McIlroy authored
Have asm.js instantiate failures tail call the function object again, which has been reset to the CompileLazy builtin, rather than explicitly calling the CompileLazy runtime function. This ensures that we call any optimized code or respect the optimization marker on the feedback vector, and can introduce DCHECKS in Compiler::Compile to this effect. Change-Id: I69a1de006c4da8f667a3e8ae8cf69ecf241dae9a Reviewed-on: https://chromium-review.googlesource.com/618714 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47402}
-
Albert Mingkun Yang authored
Make it consistent so that registers in all architecture have a member function called `bit()`. Bug: Change-Id: Ie6323f81d4ecab1557259a43a30100d8da8b35f1 Reviewed-on: https://chromium-review.googlesource.com/618872 Commit-Queue: Albert Mingkun Yang <albertnetymk@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#47401}
-
Ben Noordhuis authored
glibc before 2.17 has a bug that makes it impossible to execute binaries that have single-byte thread-local variables: % node --version node: error while loading shared libraries: cannot allocate memory in static TLS block Work around that by making the one instance in the V8 code base an int. See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898 See: https://github.com/nodesource/distributions/issues/513 See: https://github.com/nodejs/build/pull/809 Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385 Reviewed-on: https://chromium-review.googlesource.com/612351 Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-by: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#47400}
-
Ross McIlroy authored
This is a reland of 21da12a9 Original change's description: > [Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile > > Removes the Compiler::CompileDebugCode and Compiler::EnsureBytecode functions > and replaces them with a Compiler::Compile(Handle<SharedFunctionInfo> shared) > function. The code in compiler.cc is refactored to use this function to compile > the SharedFunctionInfo when compiling a JSFunction. > > Also does some other cleanup: > - Removes CompileUnoptimizedFunction and inlines into new Compiler function > - Moves code to create top level SharedFunctionInfo into CompilerTopLevel and > out of FinalizeUnoptimizedCompile. > > BUG=v8:6409 > > Change-Id: Ic54afcd8eb005c17f3ae6b2355060846e3091ca3 > Reviewed-on: https://chromium-review.googlesource.com/613760 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47394} TBR=yangguo@chromium.org TBR=jarin@chromium.org Bug: v8:6409 Change-Id: If2eae66a85f129e746a5ca5c04935540f3f86b04 Reviewed-on: https://chromium-review.googlesource.com/618886Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47399}
-
Enrico Bacis authored
This CL introduces 6 tests that verify that the effects of a grow_memory instruction executed inside a function are visible also from the caller of the function. The tests verify that: * the current_memory instruction returns the correct value after returning from a function that grew memory; * accessing a memory page that has been created inside a function does not trap in the caller; * when a function grows the memory and then store something in the grown memory, the caller always reads from the grown memory. This checks that the memory start address gets updated in the caller (the memory buffer could in fact be relocated by the grow_memory instruction). These tests are implemented for direct and indirect function calls. R=ahaas@chromium.org,clemensh@chromium.org Change-Id: Iac8db0fa7a6dd6f530e090af5423fc165d87e863 Reviewed-on: https://chromium-review.googlesource.com/616150 Commit-Queue: Enrico Bacis <enricobacis@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Cr-Commit-Position: refs/heads/master@{#47398}
-
Ross McIlroy authored
This reverts commit 21da12a9. Reason for revert: Failing on arm64 simulator Original change's description: > [Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile > > Removes the Compiler::CompileDebugCode and Compiler::EnsureBytecode functions > and replaces them with a Compiler::Compile(Handle<SharedFunctionInfo> shared) > function. The code in compiler.cc is refactored to use this function to compile > the SharedFunctionInfo when compiling a JSFunction. > > Also does some other cleanup: > - Removes CompileUnoptimizedFunction and inlines into new Compiler function > - Moves code to create top level SharedFunctionInfo into CompilerTopLevel and > out of FinalizeUnoptimizedCompile. > > BUG=v8:6409 > > Change-Id: Ic54afcd8eb005c17f3ae6b2355060846e3091ca3 > Reviewed-on: https://chromium-review.googlesource.com/613760 > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47394} TBR=rmcilroy@chromium.org,yangguo@chromium.org,jarin@chromium.org,leszeks@chromium.org Change-Id: I4ba63e82417a185f1528ff2633eb6c8872fbbfe5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6409 Reviewed-on: https://chromium-review.googlesource.com/618687Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47397}
-