- 31 Jul, 2017 11 commits
-
-
Tobias Tebbi authored
Reland of https://chromium-review.googlesource.com/c/591667/, removing thread-local variable Bug: Change-Id: Ia9bc73be4a46a6bf052220726193c8b6634eb73e Reviewed-on: https://chromium-review.googlesource.com/593559Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#47001}
-
Leszek Swirski authored
Also enforce that it is called on the main thread. Change-Id: I827beefe625bebf6c03fce5220cfbbd68e807984 Reviewed-on: https://chromium-review.googlesource.com/591372Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47000}
-
Ulan Degenbaev authored
When an object shrinks, we can keep the recorded slots until the sweeper removes them. It is safe because the recorded slots will not be over- written with untagged values. BUG=chromium:694255 Change-Id: I2b910c6345a306e00c7a10396876001e663f51ea Reviewed-on: https://chromium-review.googlesource.com/591650Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46999}
-
Ulan Degenbaev authored
The slots outside the trimmed array will be cleared by the sweeper and will not be overwritten with an untagged value. BUG=chromium:694255 Change-Id: I3e814b9934ca95a09e883e237687434e6bb58c80 Reviewed-on: https://chromium-review.googlesource.com/591651Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46998}
-
Vladan Djeric authored
We are unblocking contributors from @fb.com and @oculus.com to contribute to Chromium. Our primary contributor group is still specified in our Facebook CLA group and should be consulted before allowing any contributions. Bug: Change-Id: I21ee84a29382f034184d053b77b02c78e6055791 Reviewed-on: https://chromium-review.googlesource.com/558708Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#46997}
-
Ulan Degenbaev authored
Currently we clear only old-to-new slots in the sweeper. For old-to-old slots we maintain the invariant that there are no recorded slots in dead objects by explicitly clearing them on object size change and array trimming. The write barrier for concurrent marking will record slots even when the host object is white. Thus, it can introduce slots in dead objects, which will break evacuation phase if we do not clear them in the sweeper. Besides that, the patch makes handling of slots more uniform and allows us to remove clearing of slots on object size changes. BUG=chromium:694255 Change-Id: I48f60eb25ddc48c6948be4461367e3f7abf74672 Reviewed-on: https://chromium-review.googlesource.com/592207Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46996}
-
Loo Rong Jie authored
Reason: cause Blink regression on Android Original CL: https://chromium-review.googlesource.com/c/538463/ Bug: chromium:735910 Change-Id: I405e71f6ffeaf9fa467036a6fafa0271a60de9d3 Reviewed-on: https://chromium-review.googlesource.com/593247Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Loo Rong Jie <loorongjie@gmail.com> Cr-Commit-Position: refs/heads/master@{#46995}
-
jgruber authored
Instead of generating huge switch statements for builtin accessor functions, simply store isolate-independent metadata in a struct indexed by builtin-id. Drive-by-fix: Remove duplicate parameter-count lookup accessor. Drive-by-fix: Print builtin kind with --print-builtin-size. Bug: v8:6624 Change-Id: Ibe61eeee6b8849d5e1a2361ec8268b233be8bb13 Reviewed-on: https://chromium-review.googlesource.com/591847 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46994}
-
Michael Lippautz authored
Bug: chromium:738865 Change-Id: Ia9544707d4117187746fc50a416370b3c08ab842 Reviewed-on: https://chromium-review.googlesource.com/593313Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46993}
-
Alexey Kozyatinskiy authored
We need this benchmark to measure speedup of getPossibleBreakpoints method by [1]. [1] https://chromium-review.googlesource.com/c/591027/ R=dgozman@chromium.org Bug: none Change-Id: I617a435d5a162800caae2fb85596839a57d4d9bd Reviewed-on: https://chromium-review.googlesource.com/592308Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46992}
-
Jakob Gruber authored
Function-granularity coverage skips functions that are both uncovered and have an uncovered parent. This optimization needs to be tweaked once block coverage and incremental collection is in play, as it is possible to have a function with invocation_count == 0 (i.e. uncovered at function granularity) that still has relevant block-granularity coverage. Bug: v8:6000 Change-Id: I4cc81b8a6935aa58e29d383ed4fa749cbfe69352 Reviewed-on: https://chromium-review.googlesource.com/589508Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46991}
-
- 29 Jul, 2017 4 commits
-
-
Ulan Degenbaev authored
BUG=chromium:694255 TBR=mlippautz@chromium.org Change-Id: I7dd9623ff85fcc49f034c71a6f5149f9488a9abb Reviewed-on: https://chromium-review.googlesource.com/593010Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46990}
-
Georg Neis authored
This reverts commit 3f90d9f9. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/16510 Original change's description: > [Memory] Add an OnCriticalMemoryPressure method to V8::Platform. > > Adds virtual V8::Platform::OnCriticalMemoryPressure method, default > implementation does nothing. > > Calls this method on first allocation failures in NewArray, Malloced, > and zone AccountingAllocator and adds retry logic. > > Adds utility functions for allocating base::VirtualMemory to functions > in allocation.h, which call this method and add retry logic. > > Calls these utility functions in heap CodeRange, Spaces, StoreBuffer > and SequentialMarkingDeque. > > Bug: v8:6635 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I38afd394f3be556aca037d16675e9884658158cb > Reviewed-on: https://chromium-review.googlesource.com/583543 > Commit-Queue: Bill Budge <bbudge@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46988} TBR=bbudge@chromium.org,ulan@chromium.org,mlippautz@chromium.org Change-Id: I79afea5982e62db1462cc5a5585a226f0ddbe752 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6635 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/592887Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46989}
-
Bill Budge authored
Adds virtual V8::Platform::OnCriticalMemoryPressure method, default implementation does nothing. Calls this method on first allocation failures in NewArray, Malloced, and zone AccountingAllocator and adds retry logic. Adds utility functions for allocating base::VirtualMemory to functions in allocation.h, which call this method and add retry logic. Calls these utility functions in heap CodeRange, Spaces, StoreBuffer and SequentialMarkingDeque. Bug: v8:6635 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I38afd394f3be556aca037d16675e9884658158cb Reviewed-on: https://chromium-review.googlesource.com/583543 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46988}
-
Bill Budge authored
- Use a sequence of push/pop instructions to move 128 bit values. - Generalize HighOperand method to handle other offsets. Bug: v8:6020 Change-Id: I21467c2f19637b0e6b86a3060952386dd0c5d77a Reviewed-on: https://chromium-review.googlesource.com/583627Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#46987}
-
- 28 Jul, 2017 25 commits
-
-
Brad Nelson authored
BUG=chromium:709179 R=binji@chromium.org,hablich@chromium.org Change-Id: I2efb3becc1ca9fef84008c82cd882ef11e2aa3f2 Reviewed-on: https://chromium-review.googlesource.com/589768 Commit-Queue: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#46986}
-
Alexey Kozyatinskiy authored
To avoid using debugging context and debugger-script.js on inspector side we can move SetScriptSource call to v8::internal::Debug. Theoretically we can move live edit implementation to native completely but since it will be reimplemented it looks redundant. R=yangguo@chromium.org,jgruber@chromium.org Bug: chromium:652939 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id09492c2d2a93efbde429c9cc1bc181d5fdda19b Reviewed-on: https://chromium-review.googlesource.com/590736 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46985}
-
Alexei Filippov authored
Remove GetProfilerMemorySize from HeapProfiler API. Remove HeapObjectsMap::FindUntrackedObjects Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I32a9a0676485c17c08c068a8ca501525b0d2670e Reviewed-on: https://chromium-review.googlesource.com/590651Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#46984}
-
Georg Neis authored
The error got attached to the module asking for the conflicting name. This was incorrect in the case where the asking was itself via a star export. We must attach the error to the module that explicitly asks for the problematic name via a named import or named export statement. Test will be added to Chromium: https://chromium-review.googlesource.com/c/590369/ R=adamk@chromium.org Bug: v8:1569 Change-Id: Ib3c297c6c5654ed1b8f2c7b2d6525202c78f87cd Reviewed-on: https://chromium-review.googlesource.com/591307 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46983}
-
Ulan Degenbaev authored
This reverts commit 176a2b24. Reason for revert: performance regression on the benchmarks. Original change's description: > [heap] Reland "[heap] Allow a minimum semi-space size of 512K." > > This patch changes the semi-space size to 512K. > > > Original commit message: > > Revert "[heap] Allow a minimum semi-space size of 512K." > > This reverts commit 0d2ed6c3. > > The CL introduced perf regressions: crbug.com/735649. > > We are going to reland the CL in an isolated V8 roll to ensure > > that perf regressions are attributed correctly. > > > Original commit message: > > > [heap] Allow a minimum semi-space size of 512K. > > > This CL also reduces the minimum semi-space size to 512K. > > > BUG=chromium:716032 > > BUG=chromium:735649 > > Change-Id: Iabc377cba2911b28d51b98bb5b85134d4e893632 > Reviewed-on: https://chromium-review.googlesource.com/575066 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46763} TBR=ulan@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I80f8b6699f41e91512f7cec38060c829252ff95e Reviewed-on: https://chromium-review.googlesource.com/591309Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46982}
-
Jakob Kummerow authored
in preparation for caching StoreIC-Transition handlers in there. This CL should not change behavior or performance. The TransitionArray class no longer serves a dual purpose; it is now simply the data structure serving that role. Further, it now supports storing transitioning handlers in its "target" slot, which in turn have a WeakCell pointing to the transition target (but this functionality is not being used yet). The interface for accessing a map's transitions, previously implemented as a set of static functions, is now handled by the TransitionsAccessor class. It distinguishes the following internal states: - kPrototypeInfo: map is a prototype map, will never cache any transitions. - kUninitialized: map can cache transitions, but doesn't have any. - kWeakCell: map caches a single transition, stored inline. Formerly known as "IsSimpleTransition". - kFullTransitionArray: map uses a TransitionArray to store transitions. - kTuple3Handler, kFixedArrayHandler: to be used in the future for caching transitioning handlers. Change-Id: If2aa68390981f96f317b958445a6e0b935c2a14e Reviewed-on: https://chromium-review.googlesource.com/550118Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#46981}
-
Tobias Tebbi authored
This reverts commit ccd8bb69. Reason for revert: https://build.chromium.org/p/client.v8.fyi/builders/Mac%20Release%20%28Intel%29/builds/2643 Original change's description: > Reland: [turbofan] staging new implementation of escape analysis > > Reland of https://chromium-review.googlesource.com/c/565720, fixing compilation issues on the waterfall. > > Bug: > Change-Id: Ide4f1ea4470e946820edc990c9bf027f04844efe > Reviewed-on: https://chromium-review.googlesource.com/591667 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46975} TBR=jarin@chromium.org,tebbi@chromium.org Change-Id: I30016fd8d71535c02bab8678b02147195c3e97a6 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/591672Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#46980}
-
Adithya Srinivasan authored
Counters for some of the getters are renamed to remove the AccessorNameGetterCallback_ prefix. The prefix causes these getters to be categorized under Blink C++ (and they shouldn't be). Counters are also added for some setters which are currently being counted under GenericNamedPropertySetterCallback and AccessorNameSetterCallback which are both categorized as Blink C++. Bug: Change-Id: Ifc2c08d3eca0460ea6b5572c7a96b3625dd7d7ea Reviewed-on: https://chromium-review.googlesource.com/587593Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Adithya Srinivasan <adithyas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46979}
-
Mircea Trofin authored
Avoid leaking because the persistent handle isn't released. To further clarify ownership, the v8 side owns now completely the promise. Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ief9e44e60235fe6199fc4884ad1ccbd9e34cce8a Reviewed-on: https://chromium-review.googlesource.com/591067Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46978}
-
Mathias Bynens authored
This patch makes `%DebugPrint(fn)` print `fn`’s feedback vector when available. Example output: ``` d8> fn = (x) => x + '.'; fn(''); %DebugPrint(fn) DebugPrint: 0x1c12b950df81: [Function] - map = 0x1c12b1802361 [FastProperties] - prototype = 0x1c12ec904591 - elements = 0x1c12f5702241 <FixedArray[0]> [HOLEY_ELEMENTS] - initial_map = - shared_info = 0x1c12ec92fde9 <SharedFunctionInfo fn> - name = 0x1c12ec92fcd1 <String[2]: fn> - formal_parameter_count = 1 - kind = [ ArrowFunction ] - context = 0x1c12ec903cd1 <FixedArray[278]> - code = 0x220721125061 <Code BUILTIN> - interpreted - bytecode = 0x1c12ec930181 - source code = (x) => x + '.' - properties = 0x1c12f5702241 <FixedArray[0]> { #length: 0x1c12e3095eb1 <AccessorInfo> (const accessor descriptor) #name: 0x1c12e3095f21 <AccessorInfo> (const accessor descriptor) } - feedback vector: 0x1c12ec9301f9: [FeedbackVector] in OldSpace - length: 1 SharedFunctionInfo: 0x1c12ec92fde9 <SharedFunctionInfo fn> Optimized Code: 0 Invocation Count: 1 Profiler Ticks: 0 Slot #0 BinaryOp MONOMORPHIC [0]: 8 0x1c12b1802361: [Map] - type: JS_FUNCTION_TYPE - instance size: 72 - inobject properties: 0 - elements kind: HOLEY_ELEMENTS - unused property fields: 0 - enum length: invalid - callable - back pointer: 0x1c12f57022d1 <undefined> - instance descriptors (own) #2: 0x1c12ec9048e9 <FixedArray[8]> - layout descriptor: 0x0 - prototype: 0x1c12ec904591 <JSFunction (sfi = 0x1c12f5707c91)> - constructor: 0x1c12f5702201 <null> - code cache: 0x1c12f5702241 <FixedArray[0]> - dependent code: 0x1c12f5702241 <FixedArray[0]> - construction counter: 0 (x) => x + '.' ``` Example output when feedback vector is not available: ``` d8> %DebugPrint(() => {}) DebugPrint: 0x1c12b950bf49: [Function] - map = 0x1c12b1802361 [FastProperties] - prototype = 0x1c12ec904591 - elements = 0x1c12f5702241 <FixedArray[0]> [HOLEY_ELEMENTS] - initial_map = - shared_info = 0x1c12ec92c021 <SharedFunctionInfo> - name = 0x1c12f5702431 <String[0]: > - formal_parameter_count = 0 - kind = [ ArrowFunction ] - context = 0x1c12ec903cd1 <FixedArray[278]> - code = 0x220721004861 <Code BUILTIN> - source code = () => {} - properties = 0x1c12f5702241 <FixedArray[0]> { #length: 0x1c12e3095eb1 <AccessorInfo> (const accessor descriptor) #name: 0x1c12e3095f21 <AccessorInfo> (const accessor descriptor) } - feedback vector: not available 0x1c12b1802361: [Map] - type: JS_FUNCTION_TYPE - instance size: 72 - inobject properties: 0 - elements kind: HOLEY_ELEMENTS - unused property fields: 0 - enum length: invalid - callable - back pointer: 0x1c12f57022d1 <undefined> - instance descriptors (own) #2: 0x1c12ec9048e9 <FixedArray[8]> - layout descriptor: 0x0 - prototype: 0x1c12ec904591 <JSFunction (sfi = 0x1c12f5707c91)> - constructor: 0x1c12f5702201 <null> - code cache: 0x1c12f5702241 <FixedArray[0]> - dependent code: 0x1c12f5702241 <FixedArray[0]> - construction counter: 0 () => {} ``` Change-Id: Ic80289bff652cfc8d04182c68740843c61c87849 Reviewed-on: https://chromium-review.googlesource.com/591369 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46977}
-
Jaroslav Sevcik authored
Change-Id: Iff0dcec95d04b85d31a452fed31b1500ad17a9f0 Reviewed-on: https://chromium-review.googlesource.com/591373 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46976}
-
Tobias Tebbi authored
Reland of https://chromium-review.googlesource.com/c/565720, fixing compilation issues on the waterfall. Bug: Change-Id: Ide4f1ea4470e946820edc990c9bf027f04844efe Reviewed-on: https://chromium-review.googlesource.com/591667Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#46975}
-
Daniel Clifford authored
Change-Id: Ifb689a6d5bc5290c6612a92fa45aae6f5db2d81c Reviewed-on: https://chromium-review.googlesource.com/589433Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#46974}
-
Mathias Bynens authored
This file codifies the preferred editor configuration when working on V8. Including it in the repository makes it easier for contributors to follow the existing coding style. See http://editorconfig.org/ for more information. Change-Id: Iea69c29fc0d88e0fd085e4b3ffc46697d0cd1202 Reviewed-on: https://chromium-review.googlesource.com/591427Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#46973}
-
Michael Lippautz authored
This visitor can be reused by the full MC when seeding root items. Bug: chromium:750084 Change-Id: I9d46ce55737961d8f72a34b06f3314c8f75f3b4d Reviewed-on: https://chromium-review.googlesource.com/591451Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46972}
-
Michael Lippautz authored
Bug: chromium:750084 Change-Id: I17560b2ab31ad494637a7498a089f4d2b7377907 Reviewed-on: https://chromium-review.googlesource.com/591450Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46971}
-
Michael Lippautz authored
Also remove the comment on LayoutDescriptor as we want to pretenure those. Bug: chromium:738865 Change-Id: I5bdf66d383b481edc3250623e155b97d1081a7cc Reviewed-on: https://chromium-review.googlesource.com/590235Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46970}
-
Juliana Patricia Vicente Franco authored
This reverts commit e15f5544. Reason for revert: it breaks the GC stress. Original change's description: > Changing the return address on the stack. > > Rather than patching code, the deoptimizer now replaces the > return address in the frames with respective trampolines. > This change required to change the way we search for Safepoint > entries and for Exception Handlers. > It's working in architectures: x64, ia32, arm, arm64 and mips. > > Bug: V8:6563 > Change-Id: I3cbd4d192c3513f307b3a6a2ac99e60d03c753d3 > Reviewed-on: https://chromium-review.googlesource.com/586707 > Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46967} TBR=jarin@chromium.org,bmeurer@chromium.org,jupvfranco@google.com Change-Id: I430fa9123beef2e0723b38cdef9537181203f7e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: V8:6563 Reviewed-on: https://chromium-review.googlesource.com/591371 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46969}
-
Tobias Tebbi authored
This reverts commit d230b44f. Reason for revert: compile errors on the waterfall Original change's description: > [turbofan] staging new implementation of escape analysis > > Bug: > Change-Id: Idebe4fa6d651a404a0dc1947ed4a34a8dc9707a9 > Reviewed-on: https://chromium-review.googlesource.com/565720 > Commit-Queue: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46966} TBR=mstarzinger@chromium.org,jarin@chromium.org,tebbi@chromium.org Change-Id: I73c3cb270d498aeb181e31bad04f1c73d5ca6741 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/591370Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#46968}
-
Juliana Franco authored
Rather than patching code, the deoptimizer now replaces the return address in the frames with respective trampolines. This change required to change the way we search for Safepoint entries and for Exception Handlers. It's working in architectures: x64, ia32, arm, arm64 and mips. Bug: V8:6563 Change-Id: I3cbd4d192c3513f307b3a6a2ac99e60d03c753d3 Reviewed-on: https://chromium-review.googlesource.com/586707 Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46967}
-
Tobias Tebbi authored
Bug: Change-Id: Idebe4fa6d651a404a0dc1947ed4a34a8dc9707a9 Reviewed-on: https://chromium-review.googlesource.com/565720 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46966}
-
Michael Lippautz authored
LayoutDescriptor is currently the only case where the Scavenger needs to potentially follow an updated slot to iterate an object. This scenario requires at least Acq/Rel semantics. In order to use relaxed store/load for the slots we need to allocate it pretenured. Bug: chromium:738865 Change-Id: I353fa6f252b436918b60fff54ece5ce5c7783072 Reviewed-on: https://chromium-review.googlesource.com/590429Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46965}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: I6684850ae9759f719e3ed665157eaea2581a65cf Reviewed-on: https://chromium-review.googlesource.com/590008 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46964}
-
sreten.kovacevic authored
Add UseScratchRegisterScope for MIPS and use it instead of using at register directly. Original commit message: `Introduce a stripped down version of UseScratchRegisterScope for ARM and use it inside the assembler and macro-assembler. At the exception of the Call instructions, we now use this scope instead of using the ip register directly. This is inspired from how the ARM64 backend works. In general, the benefit of doing this is we can catch cases where ip is being used both by the caller and by the assembler. But more specifically, TurboFan reserves r9 as an extra scratch register because ip can already be used by the assembler. With this utility, we can isolate the cases in the code generator which need an extra register and potentially fix them, allowing us to give r9 back to the register allocator. This patch uncovered places in the assembler where we were using ip unconditionally when we could have re-used the destination register instead.` Bug: Change-Id: I1a35c1661579882801605337abfc95f75b47f052 Reviewed-on: https://chromium-review.googlesource.com/574923 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com> Cr-Commit-Position: refs/heads/master@{#46963}
-
Leszek Swirski authored
Rather than storing the isolate in compiler dispatcher jobs, which gets weird for jobs that are entirely off-thread, instead pass the isolate in when stepping on the main thread. This makes it clearer which steps must be executed on the main thread, as they require the caller to explicitly give them access to the isolate. Bug: v8:6537 Change-Id: I02fff7c77fdcdbfb099a38235f94d8c1040699ac Reviewed-on: https://chromium-review.googlesource.com/589437 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46962}
-