- 18 Jul, 2016 1 commit
-
-
bmeurer authored
So far TurboFan wasn't adding the deoptimization reasons for eager/soft deoptimization exits that can be used by either the DevTools profiler or the --trace-deopt flag. This adds basic support for deopt reasons on Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through the reasons to the code generation. Also moves the DeoptReason to it's own file (to resolve include cycles) and drops unused reasons. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2161543002 Cr-Commit-Position: refs/heads/master@{#37823}
-
- 30 Jun, 2016 1 commit
-
-
bbudge authored
-Defines SIMD128_REGISTERS for all platforms. -Adds Simd128 register information to RegisterConfiguration, and implements aliasing calculations. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2092103004 Cr-Commit-Position: refs/heads/master@{#37437}
-
- 29 Jun, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109613004 Cr-Commit-Position: refs/heads/master@{#37397}
-
- 27 Jun, 2016 2 commits
-
-
bbudge authored
Replaces ArchDefault method with Crankshaft and Turbofan getters. Eliminates IsAllocated method on Register, FloatRegister, DoubleRegister. Eliminates ToString method too. Changes call sites to access appropriate arch default RegisterConfiguration. LOG=N BUG= Review-Url: https://codereview.chromium.org/2092413002 Cr-Commit-Position: refs/heads/master@{#37297}
-
bbudge authored
- Add a const bool kSimpleFPAliasing variable for each platform so it's easier for the compiler to eliminate dead code. - Modify RegisterAllocator to use it. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2101473002 Cr-Commit-Position: refs/heads/master@{#37288}
-
- 24 Jun, 2016 1 commit
-
-
balazs.kilvady authored
Port fc59eb8a Original commit message: Moves between operands with different representations shouldn't happen, so don't test them. This makes it easier to modify canonicalization to differentiate between floating point types, which is needed to support floating point register aliasing for ARM and MIPS. This change also expands tests to include explicit FP moves (both register and stack slot). LOG=N BUG=v8:4124 BUG=chromium:622619 Review-Url: https://codereview.chromium.org/2090993002 Cr-Commit-Position: refs/heads/master@{#37241}
-
- 13 May, 2016 1 commit
-
-
mstarzinger authored
This makes the profiler reconstruct inlined function frames at eager deopt points from the deoptimization data. The main goal of this is to remove the last side-channel where Crankshaft communicates directly to the profiler. This is the last preparatory step towards deprecating the side-channel in question. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1973993002 Cr-Commit-Position: refs/heads/master@{#36229}
-
- 11 May, 2016 1 commit
-
-
mstarzinger authored
This passes the inlining_id of deoptimization points via the relocation info instead of via a side-channel to the CPU profiler. This is one step towards deprecating the side-channel in question and avoid the need for performing a lookup of the return address of the deopt point. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1956693002 Cr-Commit-Position: refs/heads/master@{#36177}
-
- 09 May, 2016 1 commit
-
-
bbudge authored
Changes some platform specific class names and uses typedefs to define FloatRegister, DoubleRegister, etc. This will be needed to do register allocation on ARM/MIPS where registers combine to form larger registers. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/1954953002 Cr-Commit-Position: refs/heads/master@{#36117}
-
- 16 Mar, 2016 1 commit
-
-
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}
-
- 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}
-
- 02 Mar, 2016 1 commit
-
-
rmcilroy authored
Add support to log source position offsets to the profiler. As part of this change PositionsRecorder is split into two, with the subset needed by log.cc moved into log.h and the remainder kept in assembler.h as AssemblerPositionsRecorder. The interpreter's source position table builder is updated to log positions when the profiler is active. BUG=v8:4766 LOG=N Review URL: https://codereview.chromium.org/1737043002 Cr-Commit-Position: refs/heads/master@{#34416}
-
- 22 Feb, 2016 1 commit
-
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1716293002 Cr-Commit-Position: refs/heads/master@{#34197}
-
- 17 Feb, 2016 1 commit
-
-
bbudge authored
Adds kSimd128 to MachineRepresentation. Adds a Simd128Register concept that's platform independent. Adds UntaggedSimd128 to types.h. LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1693963004 Cr-Commit-Position: refs/heads/master@{#34089}
-
- 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}
-
- 15 Jan, 2016 3 commits
-
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1590423002 Cr-Commit-Position: refs/heads/master@{#33343}
-
mbrandy authored
Port 84f8a506 Original commit message: Adds a ForInPrepare Runtime function which returns a triple of cache_type, cache_array and cache_length. This requires adding support to CEntryStub to call runtime functions which return a ObjectTriple - a struct containing three Object* pointers. Also did some cleanup of the x64 CEntryStub to avoid replicated code. Replaces the interpreter's use of the ad-hock InterpreterForInPrepare Runtime function with ForInPrepare in preparation for fixing deopt in BytecodeGraphBuilder for ForIn (which will be done in a followup CL). R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1586153004 Cr-Commit-Position: refs/heads/master@{#33342}
-
mstarzinger authored
This splits out the SourcePosition class into a separate header file. Reason for this refactoring is that said class is mostly used by the Crankshaft compiler and not needed for all compilers. Also having the assembler depend on the class creates a dependency cycle. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1581083009 Cr-Commit-Position: refs/heads/master@{#33325}
-
- 14 Jan, 2016 1 commit
-
-
mbrandy authored
R=titzer@chromium.org, bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1575103002 Cr-Commit-Position: refs/heads/master@{#33310}
-
- 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}
-
- 02 Dec, 2015 1 commit
-
-
mbrandy authored
Port 531dde9f Original commit message: The new step-in implementation no longer tries to predict the step-in target, so we don't need the arguments count nor call type anymore. R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1490413002 Cr-Commit-Position: refs/heads/master@{#32533}
-
- 27 Nov, 2015 1 commit
-
-
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}
-
- 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 3 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
Check whether a trampoline pool should be emitted after unblocking. Otherwise, back-to-back sequences which block the trampoline pool can cause it to be out of reach. 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/1433343002 Cr-Commit-Position: refs/heads/master@{#31945}
-
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}
-
- 07 Oct, 2015 1 commit
-
-
mstarzinger authored
This removes the include of compiler.h from all our assemblers, which was only needed for the SourcePosition class. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1397493002 Cr-Commit-Position: refs/heads/master@{#31157}
-
- 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}
-
- 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}
-
- 07 Aug, 2015 1 commit
-
-
titzer authored
[turbofan] Remove architecture-specific linkage files and LinkageTraits. Use macro-assembler-defined constants. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1272883003 Cr-Commit-Position: refs/heads/master@{#30063}
-
- 30 Jul, 2015 2 commits
-
-
mbrandy authored
Port c5dd553c Original commit message: Adds interpreter entry and exit trampoline builtins. Also implements the Return bytecode handler and fixes a few bugs in InterpreterAssembler highlighted by running on other architectures. R=rmcilroy@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1266053002 Cr-Commit-Position: refs/heads/master@{#29939}
-
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}
-
- 16 Jul, 2015 1 commit
-
-
mbrandy authored
Port fc9c5275 Original commit message: 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=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1238503003 Cr-Commit-Position: refs/heads/master@{#29703}
-
- 14 Jul, 2015 2 commits
-
-
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}
-
yangguo authored
The new implemtation counts the number of calls (or continuations) before the PC to find the corresponding PC in the new code. R=mstarzinger@chromium.org BUG=chromium:507070 LOG=N Review URL: https://codereview.chromium.org/1235603002 Cr-Commit-Position: refs/heads/master@{#29636}
-
- 10 Jul, 2015 2 commits
-
-
mbrandy authored
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1233453007 Cr-Commit-Position: refs/heads/master@{#29584}
-
mbrandy authored
Port 8965b683 Original commit message: Break point at calls are currently set via IC. To change this, we need to set debug break slots instead. We also need to distinguish those debug break slots as calls to support step-in. To implement this, we add a data field to debug break reloc info to indicate non-call debug breaks or in case of call debug breaks, the number of arguments. We can later use this to find the callee on the evaluation stack in Debug::PrepareStep. R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1231173002 Cr-Commit-Position: refs/heads/master@{#29582}
-