- 05 May, 2016 1 commit
-
-
bjaideep authored
PPC: Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. Port 117a56b7 Original commit message: - 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=gdeepti@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/1948263003 Cr-Commit-Position: refs/heads/master@{#36054}
-
- 16 Mar, 2016 3 commits
-
-
mbrandy authored
This version does not modify arm64. R=jkummerow@chromium.org, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1806893002 Cr-Commit-Position: refs/heads/master@{#34827}
-
mbrandy authored
Port 33c08596 Original commit message: Int64Sub is lowered to a new turbofan operator, Int32SubPair. The new operator takes 4 inputs an generates 2 outputs. The inputs are the low word of the left input, high word of the left input, the low word of the right input, and high word of the right input. The ouputs are the low and high word of the result of the subtraction. The implementation is very similar to the implementation of Int64Add. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1812473002 Cr-Commit-Position: refs/heads/master@{#34821}
-
jkummerow authored
along with "[arm64] Fix i/d cache line size confusion typo" and "Fix a warning about inline asm source/destination mismatches..." which were building on it. This reverts the following commits: 8d7399f9 474e6a3d c3ff68b6 Reason for revert: We're getting a large number of crash reports from arm64 devices that are obviously related to cache flushing after code patching. Bisection results say that the problems started at revision c3ff68b6. Since I can't find a bug in that CL except for the typo that I've fixed in 474e6a3d (which made some of the crashes go away but not all of them), we have no choice but to revert the changes in order to get stability under control while we investigate. BUG=chromium:594646 LOG=n Review URL: https://codereview.chromium.org/1806853002 Cr-Commit-Position: refs/heads/master@{#34816}
-
- 15 Mar, 2016 1 commit
-
-
mbrandy authored
Port 1b230799 Original commit message: Int64Add is lowered to a new turbofan operator, Int32AddPair. The new operator takes 4 inputs an generates 2 outputs. The inputs are the low word of the left input, high word of the left input, the low word of the right input, and high word of the right input. The ouputs are the low and high word of the result of the addition. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1803113002 Cr-Commit-Position: refs/heads/master@{#34797}
-
- 01 Feb, 2016 1 commit
-
-
mbrandy authored
In the interest of generalization, this change: - Consolidates cache line size detection for all interested architectures under base::CPU (currently leveraged by only PPC and ARM64). - Differentiates between instruction vs data cache line sizes. R=rmcilroy@chromium.org, jochen@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1643363002 Cr-Commit-Position: refs/heads/master@{#33642}
-
- 20 Jan, 2016 1 commit
-
-
mbrandy authored
Where possible: - eliminate special-case code generation for simulator. - eliminate #ifdefs. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1607663004 Cr-Commit-Position: refs/heads/master@{#33407}
-
- 09 Dec, 2015 1 commit
-
-
mbrandy authored
Port 95844d94 Original commit message: The new operator provides a second output which indicates whether the conversion from float64 to int64 was successful or not. The second output returns 0 if the conversion fails. If the conversion succeeds, then the second output is differs from 0. The second output can be ignored, which means that the operator can be used the same way as the original operator. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1515603002 Cr-Commit-Position: refs/heads/master@{#32724}
-
- 27 Nov, 2015 3 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}
-
jochen authored
BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474763008 Cr-Commit-Position: refs/heads/master@{#32359}
-
- 23 Nov, 2015 1 commit
-
-
mbrandy authored
Port f6e689ce Original commit message: The TruncateFloat64ToUint64 operator converts a float64 to an uint64 using round-to-zero rounding mode (truncate). If the input value is outside uint64 range, then the result depends on the architecture. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1460093002 Cr-Commit-Position: refs/heads/master@{#32181}
-
- 17 Nov, 2015 1 commit
-
-
ahaas authored
and ppc64. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1438013003 Cr-Commit-Position: refs/heads/master@{#32031}
-
- 11 Nov, 2015 2 commits
-
-
mbrandy authored
R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1440733002 Cr-Commit-Position: refs/heads/master@{#31949}
-
mbrandy authored
R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1409073016 Cr-Commit-Position: refs/heads/master@{#31933}
-
- 10 Nov, 2015 1 commit
-
-
mbrandy authored
R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1413833013 Cr-Commit-Position: refs/heads/master@{#31931}
-
- 16 Oct, 2015 1 commit
-
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1409143002 Cr-Commit-Position: refs/heads/master@{#31346}
-
- 05 Oct, 2015 1 commit
-
-
mbrandy authored
Port 5cf1c0bc Original commit message: 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. R=danno@chromium.org, bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1381383002 Cr-Commit-Position: refs/heads/master@{#31114}
-
- 03 Sep, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1318863004 Cr-Commit-Position: refs/heads/master@{#30554}
-
- 17 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1299563003 Cr-Commit-Position: refs/heads/master@{#30187}
-
- 30 Jul, 2015 1 commit
-
-
mbrandy authored
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= NOTREECHECKS=true Review URL: https://codereview.chromium.org/1259723002 Cr-Commit-Position: refs/heads/master@{#29907}
-
- 14 Jul, 2015 1 commit
-
-
mbrandy authored
Labels which are not associated with branches (e.g. labels which record the location of the embedded constant pool or jump tables) should not be tracked for the purpose of trampoline generation. This also improves management of the high water mark in the buffer which triggers trampoline generation such that it is reset whenever the number of tracked branches drops to zero. These changes should help minimize unnecessary trampoline and (subsequent) slow branch generation. R=dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1237213002 Cr-Commit-Position: refs/heads/master@{#29659}
-
- 13 Jul, 2015 1 commit
-
-
mbrandy authored
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com Review URL: https://codereview.chromium.org/1239583002 Cr-Commit-Position: refs/heads/master@{#29627}
-
- 02 Jul, 2015 1 commit
-
-
dstence authored
R=mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1222133004 Cr-Commit-Position: refs/heads/master@{#29459}
-
- 24 Jun, 2015 1 commit
-
-
dstence authored
R=mbrandy@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1202383005 Cr-Commit-Position: refs/heads/master@{#29269}
-
- 09 Jun, 2015 1 commit
-
-
mbrandy authored
- Introduce Assembler::DataAlign for table alignment in code object - Fix several misuses of r8 (alias of the pool pointer register, pp) - Fix calculation of pp in OSR/handler entry invocation - Enable missing cases in deserializer - Fix references to ool constant pools in comments. R=rmcilroy@chromium.org, michael_dawson@ca.ibm.com BUG=chromium:497180 LOG=N Review URL: https://codereview.chromium.org/1155673005 Cr-Commit-Position: refs/heads/master@{#28873}
-
- 04 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1162993006 Cr-Commit-Position: refs/heads/master@{#28801}
-
- 03 Jun, 2015 1 commit
-
-
bmeurer authored
Revert of Embedded constant pools. (patchset #12 id:220001 of https://codereview.chromium.org/1131783003/) Reason for revert: Breaks Linux nosnap cctest/test-api/FastReturnValuesWithProfiler, see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%202/builds/609/steps/Check/logs/FastReturnValuesWithP.. Original issue's description: > Add support for Embedded Constant Pools for PPC and Arm > > Embed constant pools within their corresponding Code > objects. > > This removes support for out-of-line constant pools in favor > of the new approach -- the main advantage being that it > eliminates the need to allocate and manage separate constant > pool array objects. > > Currently supported on PPC and ARM. Enabled by default on > PPC only. > > This yields a 6% improvment in Octane on PPC64. > > R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com > BUG=chromium:478811 > LOG=Y > > Committed: https://crrev.com/a9404029343d65f146e3443f5280c40a97e736af > Cr-Commit-Position: refs/heads/master@{#28770} TBR=rmcilroy@chromium.org,ishell@chromium.org,rodolph.perfetta@arm.com,mbrandy@us.ibm.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:478811 Review URL: https://codereview.chromium.org/1155703006 Cr-Commit-Position: refs/heads/master@{#28772}
-
- 02 Jun, 2015 1 commit
-
-
mbrandy authored
Embed constant pools within their corresponding Code objects. This removes support for out-of-line constant pools in favor of the new approach -- the main advantage being that it eliminates the need to allocate and manage separate constant pool array objects. Currently supported on PPC and ARM. Enabled by default on PPC only. This yields a 6% improvment in Octane on PPC64. R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:478811 LOG=Y Review URL: https://codereview.chromium.org/1131783003 Cr-Commit-Position: refs/heads/master@{#28770}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 27 Mar, 2015 1 commit
-
-
michael_dawson authored
Port 019096f8 Original commit message: R=mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1036273003 Cr-Commit-Position: refs/heads/master@{#27506}
-
- 24 Mar, 2015 1 commit
-
-
michael_dawson authored
Port 7c149afb Original commit message: R=mbrandy@us.ibm.com, svenpanne@chromium.org, danno@chromium.org, jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/1029723002 Cr-Commit-Position: refs/heads/master@{#27388}
-
- 11 Mar, 2015 1 commit
-
-
michael_dawson authored
Contribution of PowerPC port (continuation of 422063005, 817143002,866843003, and 901083004). This patch updates the ppc directories to make them current with changes in common code as of today. We had to exclude the test test-serialize/SerializeInternalReference until we agree on the right way to add those changes for PPC as outlined in the description in the google doc provided earlier. We also had to exclude a couple of other tests due to new failures seen since the last uplevel. We excluded as opposed to waiting until we could investigate to maximize the chance of getting PPC compiling in the google repos before new breaking changes are made. I'll note that before applying any of our changes the mozilla part of quickcheck was already broken when using the lastest repo content so I had to run without that modified: src/compiler/ppc/code-generator-ppc.cc modified: src/compiler/ppc/instruction-codes-ppc.h modified: src/compiler/ppc/instruction-selector-ppc.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ic/ppc/ic-compiler-ppc.cc modified: src/ppc/assembler-ppc-inl.h modified: src/ppc/assembler-ppc.cc modified: src/ppc/assembler-ppc.h modified: src/ppc/builtins-ppc.cc modified: src/ppc/code-stubs-ppc.cc modified: src/ppc/codegen-ppc.cc modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/lithium-codegen-ppc.cc modified: src/ppc/macro-assembler-ppc.cc modified: src/ppc/macro-assembler-ppc.h modified: test/cctest/cctest.status R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/994533004 Cr-Commit-Position: refs/heads/master@{#27125}
-
- 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}
-
- 03 Mar, 2015 1 commit
-
-
michael_dawson authored
Contribution of PowerPC port (continuation of 422063005, 817143002, 866843003, and 901083004. This patch updates the ppc directories to make them current with changes in common code, removes the optimization to use the ool constant pool, and excludes tests that don't pass under the ppc simulator given a 240s timeout. Subsequent patches will cover: - remaining optimizations for PPC - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available for AIX) - incremental updates required to ppc directories due to platform specific changes made in google repos while we complete the above steps. modified: src/compiler/ppc/code-generator-ppc.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ppc/assembler-ppc-inl.h modified: src/ppc/assembler-ppc.cc modified: src/ppc/assembler-ppc.h modified: src/ppc/builtins-ppc.cc modified: src/ppc/code-stubs-ppc.cc modified: src/ppc/debug-ppc.cc modified: src/ppc/deoptimizer-ppc.cc modified: src/ppc/frames-ppc.cc modified: src/ppc/frames-ppc.h modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/lithium-codegen-ppc.cc modified: src/ppc/lithium-ppc.cc modified: src/ppc/lithium-ppc.h modified: src/ppc/macro-assembler-ppc.cc modified: src/ppc/macro-assembler-ppc.h modified: test/cctest/cctest.status modified: test/mjsunit/mjsunit.status R=danno@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/965823002 Cr-Commit-Position: refs/heads/master@{#26951}
-
- 20 Feb, 2015 1 commit
-
-
michael_dawson authored
Rebase to latest and use branch created by git new-branch to get a patch that only has the required changes. Created new branch, reset to HEAD and then cherry picked across the changes modified: src/compiler/ppc/code-generator-ppc.cc modified: src/compiler/ppc/instruction-selector-ppc.cc modified: src/disassembler.cc modified: src/ic/ppc/handler-compiler-ppc.cc modified: src/ic/ppc/ic-compiler-ppc.cc modified: src/ppc/assembler-ppc-inl.h modified: src/ppc/assembler-ppc.cc modified: src/ppc/assembler-ppc.h modified: src/ppc/builtins-ppc.cc modified: src/ppc/code-stubs-ppc.cc modified: src/ppc/deoptimizer-ppc.cc modified: src/ppc/disasm-ppc.cc modified: src/ppc/full-codegen-ppc.cc modified: src/ppc/macro-assembler-ppc.cc modified: src/serialize.cc R=danno@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/935383002 Cr-Commit-Position: refs/heads/master@{#26762}
-
- 13 Feb, 2015 1 commit
-
-
loislo authored
BUG=none LOG=n Review URL: https://codereview.chromium.org/922153002 Cr-Commit-Position: refs/heads/master@{#26639}
-
- 12 Feb, 2015 3 commits
-
-
loislo authored
1) create beefy RelocInfo table when cpu profiler is active, so if a function was optimized when profiler was active RelocInfo would get separate DeoptInfo for the each deopt case. 2) push DeoptInfo from CodeEntry to ProfileNode. When deopt happens we put the info collected on #1 into CodeEntry and record stack sample. On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list. Sample profile dump. [Top down]: 0 (root) 0 #1 1 29 #2 1 test 29 #3 2 opt_function 29 #4 2 opt_function 29 #5 deopted at 118 with reason 'not a heap number' deopted at 137 with reason 'division by zero' BUG=452067 LOG=n Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54 Cr-Commit-Position: refs/heads/master@{#26615} Review URL: https://codereview.chromium.org/919953002 Cr-Commit-Position: refs/heads/master@{#26630}
-
loislo authored
Revert of CPUProfiler: Push deopt reason further to ProfileNode. (patchset #1 id:1 of https://codereview.chromium.org/919953002/) Reason for revert: static initializers broke the build Original issue's description: > CPUProfiler: Push deopt reason further to ProfileNode. > > 1) create beefy RelocInfo table when cpu profiler is active, so if a function > was optimized when profiler was active RelocInfo would get separate DeoptInfo > for the each deopt case. > > 2) push DeoptInfo from CodeEntry to ProfileNode. > When deopt happens we put the info collected on #1 into CodeEntry and record stack sample. > On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list. > > Sample profile dump. > [Top down]: > 0 (root) 0 #1 > 1 29 #2 > 5 test 29 #3 > 3 opt_function 29 #4 > deopted at 52 with reason 'not a heap number' > deopted at 71 with reason 'division by zero' > > BUG=452067 > LOG=n > > Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54 > Cr-Commit-Position: refs/heads/master@{#26615} TBR=jarin@chromium.org,svenpanne@chromium.org,yurys@chromium.org,alph@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=452067 Review URL: https://codereview.chromium.org/915173005 Cr-Commit-Position: refs/heads/master@{#26616}
-
loislo authored
1) create beefy RelocInfo table when cpu profiler is active, so if a function was optimized when profiler was active RelocInfo would get separate DeoptInfo for the each deopt case. 2) push DeoptInfo from CodeEntry to ProfileNode. When deopt happens we put the info collected on #1 into CodeEntry and record stack sample. On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list. Sample profile dump. [Top down]: 0 (root) 0 #1 1 29 #2 5 test 29 #3 3 opt_function 29 #4 deopted at 52 with reason 'not a heap number' deopted at 71 with reason 'division by zero' BUG=452067 LOG=n Review URL: https://codereview.chromium.org/919953002 Cr-Commit-Position: refs/heads/master@{#26615}
-