- 17 Aug, 2016 1 commit
-
-
clarkchenwang authored
BUG= Review-Url: https://codereview.chromium.org/2250913002 Cr-Commit-Position: refs/heads/master@{#38693}
-
- 11 Jul, 2016 1 commit
-
-
bbudge authored
All architectures return false for now. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2135573003 Cr-Commit-Position: refs/heads/master@{#37649}
-
- 28 Jun, 2016 1 commit
-
-
ahaas authored
The reason for reverting is: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set never point to to-space. This reland-CL allows duplicates in the remembered set by removing the DCHECK, and additionally clears entries in the remembered set if objects are moved. Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js Review-Url: https://codereview.chromium.org/2097023002 Cr-Commit-Position: refs/heads/master@{#37325}
-
- 23 Jun, 2016 2 commits
-
-
vogelheim authored
Revert of Reland [heap] Avoid the use of cells to point from code to new-space objects. (patchset #3 id:40001 of https://codereview.chromium.org/2091733002/ ) Reason for revert: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot # # Fatal error in ../../src/heap/mark-compact.cc, line 3715 # Check failed: Page::FromAddress(reinterpret_cast<HeapObject*>(*slot)->address()) ->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION). # I can reproduce locally, and local revert also fixes it -> revert. Reproduce with: out/Debug/d8 --test --random-seed=2140216864 --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --allow-natives-syntax --harmony-tailcalls test/mjsunit/mjsunit.js test/mjsunit/es6/tail-call-megatest-shard2.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation (Maybe run in loop; it's flaky when broken; but passes reliably w/ revert.) Original issue's description: > Reland [heap] Avoid the use of cells to point from code to new-space objects. > > The reason for reverting was: [Sheriff] Breaks arm debug: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038. > > The problem was the dereferencing of handles for smi checks. It turned out > that these smi checks can be removed anyways, both on arm and on mips. > > Additionally some rebasing was necessary. > > Original issue's description: > > Cells were needed originally because there was no typed remembered set to > record direct pointers from code space to new space. A previous > CL (https://codereview.chromium.org/2003553002/) already introduced > the remembered set, this CL uses it. > > This CL > * stores direct pointers in code objects, even if the target is in new space, > * records the slot of the pointer in typed-old-to-new remembered set, > * adds a list which stores weak code-to-new-space references, > * adds a test to test-heap.cc for weak code-to-new-space references, > * removes prints in tail-call-megatest.js > > R=mlippautz@chromium.org > > Committed: https://crrev.com/5508e16592522658587da71ba6743c8e832fe4d1 > Cr-Commit-Position: refs/heads/master@{#37217} TBR=mlippautz@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2090983002 Cr-Commit-Position: refs/heads/master@{#37221}
-
ahaas authored
The reason for reverting was: [Sheriff] Breaks arm debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038. The problem was the dereferencing of handles for smi checks. It turned out that these smi checks can be removed anyways, both on arm and on mips. Additionally some rebasing was necessary. Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js R=mlippautz@chromium.org Review-Url: https://codereview.chromium.org/2091733002 Cr-Commit-Position: refs/heads/master@{#37217}
-
- 21 Jun, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Avoid the use of cells to point from code to new-space objects. (patchset #7 id:120001 of https://codereview.chromium.org/2045263002/ ) Reason for revert: [Sheriff] Breaks arm debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038 Original issue's description: > [heap] Avoid the use of cells to point from code to new-space objects. > > Cells were needed originally because there was no typed remembered set to > record direct pointers from code space to new space. A previous > CL (https://codereview.chromium.org/2003553002/) already introduced > the remembered set, this CL uses it. > > This CL > * stores direct pointers in code objects, even if the target is in new space, > * records the slot of the pointer in typed-old-to-new remembered set, > * adds a list which stores weak code-to-new-space references, > * adds a test to test-heap.cc for weak code-to-new-space references, > * removes prints in tail-call-megatest.js > > R=ulan@chromium.org > > Committed: https://crrev.com/2d2087b79a293a92a6ed34a2775e481ff2173b3c > Cr-Commit-Position: refs/heads/master@{#37134} TBR=titzer@chromium.org,ulan@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2087463004 Cr-Commit-Position: refs/heads/master@{#37139}
-
ahaas authored
Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2045263002 Cr-Commit-Position: refs/heads/master@{#37134}
-
- 19 May, 2016 1 commit
-
-
balazs.kilvady authored
Assembler::db() could start a trampoline pool at wrong pc position. TEST: mjsunit/asm/embenchen/zlib BUG= Review-Url: https://codereview.chromium.org/1994143002 Cr-Commit-Position: refs/heads/master@{#36374}
-
- 04 May, 2016 1 commit
-
-
gdeepti authored
Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. - Add new RelocInfo mode WASM_MEMORY_SIZE_REFERENCE in the assembler and add relocation information to immediates in compare instructions. - Use relocatable constants for MemSize/BoundsCheck in the wasm compiler R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/1921203002 Cr-Commit-Position: refs/heads/master@{#36044}
-
- 19 Apr, 2016 1 commit
-
-
mlippautz authored
This makes IterateBodyFast work without requiring visitors to inherit from ObjectVisitor. R=ishell@chromium.org Review URL: https://codereview.chromium.org/1900843002 Cr-Commit-Position: refs/heads/master@{#35604}
-
- 16 Mar, 2016 3 commits
-
-
gdeepti authored
- New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change - RelocInfo mode recorded for immediates that use the memory buffer as base - Tests to verify address patching works BUG= Committed: https://crrev.com/cc815b69c17da368107ed77306a5bb161170c834 Cr-Commit-Position: refs/heads/master@{#34831} Review URL: https://codereview.chromium.org/1759873002 Cr-Commit-Position: refs/heads/master@{#34836}
-
machenbach authored
Revert of Assembler changes for enabling GrowHeap in Wasm (patchset #13 id:260001 of https://codereview.chromium.org/1759873002/ ) Reason for revert: Breaks compile: https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/7740 Probably had outdated tryjobs Original issue's description: > Assembler changes for enabling GrowHeap in Wasm > - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change > - RelocInfo mode recorded for immediates that use the memory buffer as base > - Tests to verify address patching works > > BUG= > > Committed: https://crrev.com/cc815b69c17da368107ed77306a5bb161170c834 > Cr-Commit-Position: refs/heads/master@{#34831} TBR=titzer@chromium.org,yangguo@chromium.org,bradnelson@chromium.org,bradnelson@google.com,marija.antic@imgtec.com,gdeepti@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1808823002 Cr-Commit-Position: refs/heads/master@{#34832}
-
gdeepti authored
- New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change - RelocInfo mode recorded for immediates that use the memory buffer as base - Tests to verify address patching works BUG= Review URL: https://codereview.chromium.org/1759873002 Cr-Commit-Position: refs/heads/master@{#34831}
-
- 10 Feb, 2016 1 commit
-
-
yangguo authored
The break location heavily relies on relocation info. This change abstracts that away. Currently there is only one implementation for this interface, for JIT code. Future changes will introduce an implementation to iterate bytecode arrays. R=rmcilroy@chromium.org, vogelheim@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1682853003 Cr-Commit-Position: refs/heads/master@{#33869}
-
- 02 Feb, 2016 1 commit
-
-
hpayer authored
BUG=chromium:561449 LOG=n Review URL: https://codereview.chromium.org/1654263004 Cr-Commit-Position: refs/heads/master@{#33687}
-
- 28 Jan, 2016 1 commit
-
-
hpayer authored
This currently works since we never call set_target_cell when we have to record slots for evacuation. It would break with black allocation. BUG=chromium:561449 LOG=n Review URL: https://codereview.chromium.org/1643573003 Cr-Commit-Position: refs/heads/master@{#33575}
-
- 12 Jan, 2016 1 commit
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1573953002 Cr-Commit-Position: refs/heads/master@{#33249}
-
- 06 Jan, 2016 1 commit
-
-
ivica.bogosavljevic authored
Several ports to enable r6 compact branch optimizations on MIPS64 Port 3573d3cb Original commit message: MIPS: r6 compact branch optimization. Port bddf8c9e Original commit message: MIPS: Fix trampoline pool handling in MacroAssembler::BranchShort() Port 6993cd0d Original commit message: MIPS: Fix 'MIPS:r6 compact branch optimization.' Jic and jialc compact branch ops are fixed as they does not have 'forbidden slot' restriction. Also COP1 branches (CTI instructions) added to IsForbiddenAfterBranchInstr(). Port bb332195 Original commit message: MIPS: Fix trampoline pool handling in MacroAssembler::BranchShort() Port c91bcf71 Original commit message: MIPS: Fix trampoline pool handling in MacroAssembler::BranchShort() for r6. BUG= Review URL: https://codereview.chromium.org/1534183002 Cr-Commit-Position: refs/heads/master@{#33136}
-
- 27 Nov, 2015 2 commits
-
-
jochen authored
Requires passing an explicit Isolate* to a bunch of static Assembler methods. BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474323002 Cr-Commit-Position: refs/heads/master@{#32376}
-
jochen authored
It needs ot to flush icaches all over the place BUG=v8:2487 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1477343002 Cr-Commit-Position: refs/heads/master@{#32371}
-
- 25 Nov, 2015 1 commit
-
-
jochen authored
Always go through Assembler::FlushICache so we automatically use the simulator when running with a simulator. BUG=v8:2487 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1480623002 Cr-Commit-Position: refs/heads/master@{#32300}
-
- 02 Oct, 2015 3 commits
-
-
danno authored
Previous to this patch, both the lithium and TurboFan register allocators tracked allocated registers by "indices", rather than the register codes used elsewhere in the runtime. This patch ensures that codes are used everywhere, and in the process cleans up a bunch of redundant code and adds more structure to how the set of allocatable registers is defined. Some highlights of changes: * TurboFan's RegisterConfiguration class moved to V8's top level so that it can be shared with Crankshaft. * Various "ToAllocationIndex" and related methods removed. * Code that can be easily shared between Register classes on different platforms is now shared. * The list of allocatable registers on each platform is declared as a list rather than implicitly via the register index <-> code mapping. Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2 Cr-Commit-Position: refs/heads/master@{#30913} Committed: https://crrev.com/7b7a8205d9a00c678fb7a6e032a55fecbc1509cf Cr-Commit-Position: refs/heads/master@{#31075} Review URL: https://codereview.chromium.org/1287383003 Cr-Commit-Position: refs/heads/master@{#31087}
-
danno authored
Revert of Reland: Remove register index/code indirection (patchset #20 id:380001 of https://codereview.chromium.org/1287383003/ ) Reason for revert: Failures on MIPS Original issue's description: > Remove register index/code indirection > > Previous to this patch, both the lithium and TurboFan register > allocators tracked allocated registers by "indices", rather than > the register codes used elsewhere in the runtime. This patch > ensures that codes are used everywhere, and in the process cleans > up a bunch of redundant code and adds more structure to how the > set of allocatable registers is defined. > > Some highlights of changes: > > * TurboFan's RegisterConfiguration class moved to V8's top level > so that it can be shared with Crankshaft. > * Various "ToAllocationIndex" and related methods removed. > * Code that can be easily shared between Register classes on > different platforms is now shared. > * The list of allocatable registers on each platform is declared > as a list rather than implicitly via the register index <-> > code mapping. > > Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2 > Cr-Commit-Position: refs/heads/master@{#30913} > > Committed: https://crrev.com/7b7a8205d9a00c678fb7a6e032a55fecbc1509cf > Cr-Commit-Position: refs/heads/master@{#31075} TBR=akos.palfi@imgtec.com,bmeurer@chromium.org,jarin@chromium.org,paul.lind@imgtec.com,titzer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1380863004 Cr-Commit-Position: refs/heads/master@{#31083}
-
danno authored
Previous to this patch, both the lithium and TurboFan register allocators tracked allocated registers by "indices", rather than the register codes used elsewhere in the runtime. This patch ensures that codes are used everywhere, and in the process cleans up a bunch of redundant code and adds more structure to how the set of allocatable registers is defined. Some highlights of changes: * TurboFan's RegisterConfiguration class moved to V8's top level so that it can be shared with Crankshaft. * Various "ToAllocationIndex" and related methods removed. * Code that can be easily shared between Register classes on different platforms is now shared. * The list of allocatable registers on each platform is declared as a list rather than implicitly via the register index <-> code mapping. Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2 Cr-Commit-Position: refs/heads/master@{#30913} Review URL: https://codereview.chromium.org/1287383003 Cr-Commit-Position: refs/heads/master@{#31075}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 24 Sep, 2015 2 commits
-
-
danno authored
Revert of Remove register index/code indirection (patchset #17 id:320001 of https://codereview.chromium.org/1287383003/ ) Reason for revert: Failures on greedy RegAlloc, Fuzzer Original issue's description: > Remove register index/code indirection > > Previous to this patch, both the lithium and TurboFan register > allocators tracked allocated registers by "indices", rather than > the register codes used elsewhere in the runtime. This patch > ensures that codes are used everywhere, and in the process cleans > up a bunch of redundant code and adds more structure to how the > set of allocatable registers is defined. > > Some highlights of changes: > > * TurboFan's RegisterConfiguration class moved to V8's top level > so that it can be shared with Crankshaft. > * Various "ToAllocationIndex" and related methods removed. > * Code that can be easily shared between Register classes on > different platforms is now shared. > * The list of allocatable registers on each platform is declared > as a list rather than implicitly via the register index <-> > code mapping. > > Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2 > Cr-Commit-Position: refs/heads/master@{#30913} TBR=akos.palfi@imgtec.com,bmeurer@chromium.org,jarin@chromium.org,paul.lind@imgtec.com,titzer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1365073002 Cr-Commit-Position: refs/heads/master@{#30914}
-
danno authored
Previous to this patch, both the lithium and TurboFan register allocators tracked allocated registers by "indices", rather than the register codes used elsewhere in the runtime. This patch ensures that codes are used everywhere, and in the process cleans up a bunch of redundant code and adds more structure to how the set of allocatable registers is defined. Some highlights of changes: * TurboFan's RegisterConfiguration class moved to V8's top level so that it can be shared with Crankshaft. * Various "ToAllocationIndex" and related methods removed. * Code that can be easily shared between Register classes on different platforms is now shared. * The list of allocatable registers on each platform is declared as a list rather than implicitly via the register index <-> code mapping. Review URL: https://codereview.chromium.org/1287383003 Cr-Commit-Position: refs/heads/master@{#30913}
-
- 31 Jul, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-
- 20 Jul, 2015 1 commit
-
-
yangguo authored
Prior to this patch, we enter a global debug mode whenever a break point is set. By entering this mode, all code is deoptimized and activated frames are recompiled and redirected to newly compiled debug code. After this patch, we only deoptimize/redirect for functions we want to debug. Trigger for this is Debug::EnsureDebugInfo, and having DebugInfo object attached to the SFI prevents optimization/inlining. The result is that we can have optimized code for functions without break points alongside functions that do have break points, which are not optimized. R=mstarzinger@chromium.org, ulan@chromium.org BUG=v8:4132 LOG=Y Review URL: https://codereview.chromium.org/1233073005 Cr-Commit-Position: refs/heads/master@{#29758}
-
- 15 Jul, 2015 1 commit
-
-
yangguo authored
By not having to patch the return sequence (we patch the debug break slot right before it), we don't overwrite it and therefore don't have to keep the original copy of the code around. R=ulan@chromium.org BUG=v8:4269 LOG=N Review URL: https://codereview.chromium.org/1234833003 Cr-Commit-Position: refs/heads/master@{#29672}
-
- 13 Jul, 2015 1 commit
-
-
balazs.kilvady authored
Port f0d1106a Fixes possible failure in AssembleArchTableSwitch(). BUG=v8:4294 LOG=y Review URL: https://codereview.chromium.org/1235883004 Cr-Commit-Position: refs/heads/master@{#29621}
-
- 09 Jun, 2015 1 commit
-
-
dusan.milosavljevic authored
Improves code size of generated regexp in TestSizeOfRegExpCode test by 33%. Execution time of the same test improved by ~10%. Utilizing code range for mips64 enable us to use J/JAL instructions for long branches. TEST=cctest/test-heap/TestSizeOfRegExpCode BUG= Review URL: https://codereview.chromium.org/1147503002 Cr-Commit-Position: refs/heads/master@{#28867}
-
- 23 Mar, 2015 1 commit
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1025453003 Cr-Commit-Position: refs/heads/master@{#27351}
-
- 18 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 7c149afb BUG= Review URL: https://codereview.chromium.org/1019083002 Cr-Commit-Position: refs/heads/master@{#27283}
-
- 17 Mar, 2015 1 commit
-
-
paul.lind authored
Add mips support for the changes in https://codereview.chromium.org/1000373003. On mips, these support the long-branch mechanism. TEST=test-serialize/SerializeToplevelLargeCodeObject BUG= Review URL: https://codereview.chromium.org/1014763003 Cr-Commit-Position: refs/heads/master@{#27244}
-
- 05 Mar, 2015 1 commit
-
-
yangguo authored
Internal references are absolute addresses into the instruction stream. Turn them into relative addresses when serializing and back when deserializing to keep them valid. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/976623002 Cr-Commit-Position: refs/heads/master@{#27020}
-
- 04 Mar, 2015 1 commit
-
-
yangguo authored
We now have BreakLocation::Iterator to iterate via RelocIterator, and create a BreakLocation when we are done iterating. The reloc info is stored in BreakLocation in a GC-safe way and instantiated on demand. R=ulan@chromium.org BUG=v8:3924 LOG=N Review URL: https://codereview.chromium.org/967323002 Cr-Commit-Position: refs/heads/master@{#26983}
-
- 17 Feb, 2015 1 commit
-
-
balazs.kilvady authored
Port 49cbe537 BUG= Review URL: https://codereview.chromium.org/930623003 Cr-Commit-Position: refs/heads/master@{#26700}
-
- 24 Sep, 2014 1 commit
-
-
balazs.kilvady@imgtec.com authored
Port r24179 (41b81c2) LOG=n BUG=v8:3589 TEST=compiler-unittests,cctest R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/601783002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Aug, 2014 1 commit
-
-
yangguo@chromium.org authored
If the platform has a variable length call sequence more than simple offset math is required. This can be true with out of line constant pools on PowerPC. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/427863003 Patch from Andrew Low <andrew_low@ca.ibm.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-