- 24 Aug, 2015 1 commit
-
-
rmcilroy authored
Replaces all instances of the code which computed the debug name of a stub or function with calls to CompileInfo::GetDebugName instead. Also: - Removes useless parameter on CodeStub::GetMajorName - Removes FakeStubForTesting since it is no longer required - Adds CompileInfo::ShouldEnsureSpaceForLazyDeopt() to replace unclear calls to IsStub(). Review URL: https://codereview.chromium.org/1297203002 Cr-Commit-Position: refs/heads/master@{#30324}
-
- 17 Aug, 2015 1 commit
-
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1291113003 Cr-Commit-Position: refs/heads/master@{#30203}
-
- 12 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1283183002 Cr-Commit-Position: refs/heads/master@{#30127}
-
- 11 Aug, 2015 2 commits
-
-
titzer authored
Reland: [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack. OCL: https://codereview.chromium.org/1263033004/ R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1284893002 Cr-Commit-Position: refs/heads/master@{#30115}
-
yangguo authored
Revert of [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack. (patchset #7 id:120001 of https://codereview.chromium.org/1263033004/ ) Reason for revert: This CL breaks MIPS (roll blocker). https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20mipsel%20-%20sim/builds/2061/steps/Check/logs/Run_Int32_Select_1 Original issue's description: > [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack. > > R=jarin@chromium.org > BUG= > > Committed: https://crrev.com/71409be5395f867bbca0f6998bf6caa175cd8192 > Cr-Commit-Position: refs/heads/master@{#30091} TBR=jarin@chromium.org,titzer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1284853002 Cr-Commit-Position: refs/heads/master@{#30101}
-
- 10 Aug, 2015 1 commit
-
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1263033004 Cr-Commit-Position: refs/heads/master@{#30091}
-
- 07 Aug, 2015 2 commits
-
-
titzer authored
Rationale: The {kind} of a call descriptor describes what the {target} being called is--i.e. a JSFunction, code object, or address. That kind materially dictates the instruction(s) generated for an outgoing call. The other flags on a call descriptor should describe specific properties (like whether a roots register is valid or not) so that backend logic doesn't have to switch over the kind, but is informed directly of what it wants to know. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1268273003 Cr-Commit-Position: refs/heads/master@{#30065}
-
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}
-
- 03 Aug, 2015 1 commit
-
-
mbrandy authored
NOPRESUBMIT=true R=titzer@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1271583002 Cr-Commit-Position: refs/heads/master@{#29978}
-
- 31 Jul, 2015 1 commit
-
-
titzer authored
R=danno@chromium.org BUG= Review URL: https://codereview.chromium.org/1269913002 Cr-Commit-Position: refs/heads/master@{#29957}
-
- 30 Jul, 2015 3 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}
-
titzer authored
This is the first step in cutting the Gordian linkage/linkage-impl knot. This basically changes the axis along which we organize call descriptor building logic from having platform-specific files dedicated to all call descriptor types to having call-descriptor-type-specific files that have The next step is to factor the JS, code stub, and runtime call descriptors similarly, dumping them into: compiler/js-linkage.cc compiler/runtime-linkage.cc compiler/code-stub-linkage.cc or, alternatively, all of them just into compiler/js-linkage.cc. This also anticipates a wasm-linkage.cc file in the future. R=bmeurer@chromium.org,danno@chromium.org BUG= Review URL: https://codereview.chromium.org/1266603002 Cr-Commit-Position: refs/heads/master@{#29931}
-
rmcilroy authored
Changes the interpreter to use a BytecodeArray pointer and an offset to avoid having an inner pointer to a BytecodeArray object in registers during dispatch. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1254293006 Cr-Commit-Position: refs/heads/master@{#29910}
-
- 27 Jul, 2015 2 commits
-
-
mbrandy authored
R=michael_dawson@ca.ibm.com, danno@chromium.org, yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1255953003 Cr-Commit-Position: refs/heads/master@{#29884}
-
michael_dawson authored
BUG= R=danno@chromium.org, mbrandy@us.ibm.com Review URL: https://codereview.chromium.org/1245023003 Cr-Commit-Position: refs/heads/master@{#29876}
-
- 23 Jul, 2015 1 commit
-
-
mbrandy authored
Port 7877c4e0 Original commit message: Adds basic support for generation of interpreter bytecode handler code snippets. The InterpreterAssembler class exposes a set of low level, interpreter specific operations which can be used to build a Turbofan graph. The Interpreter class generates a bytecode handler snippet for each bytecode by assembling operations using an InterpreterAssembler. Currently only two simple bytecodes are supported: LoadLiteral0 and Return. R=rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1250723003 Cr-Commit-Position: refs/heads/master@{#29822}
-
- 13 Jul, 2015 1 commit
-
-
mbrandy authored
Port a0129a25 R=rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1232803004 Cr-Commit-Position: refs/heads/master@{#29620}
-
- 08 Jul, 2015 1 commit
-
-
mbrandy authored
Port 4b38c158 Original commit message: We actually need round to zero truncation to implement the counterpart of LDoubleToI in TurboFan, which tries to convert a double to an integer as required for keyed load/store optimizations. Drive-by-cleanup: Reduce some code duplication in the InstructionSelector implementations. R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1220373003 Cr-Commit-Position: refs/heads/master@{#29533}
-
- 06 Jul, 2015 1 commit
-
-
mbrandy authored
R=titzer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1218073008 Cr-Commit-Position: refs/heads/master@{#29501}
-
- 03 Jul, 2015 1 commit
-
-
titzer authored
Also add control inputs to 64-bit integer divide and modulus operations. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1223613002 Cr-Commit-Position: refs/heads/master@{#29460}
-
- 02 Jul, 2015 1 commit
-
-
mbrandy authored
Port 1fa4285e Original commit message: This involves: - Enabling the tail call optimization reducer in all cases. - Adding an addition flag to CallFunctionParameters to mark call sites that can be tail-called enabled. - Only set the tail-call flag for %_CallFunction. R=danno@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1224533002 Cr-Commit-Position: refs/heads/master@{#29453}
-
- 30 Jun, 2015 1 commit
-
-
akos.palfi authored
This change makes possible to save and restore the FP registers in the Prologue and Return parts for the CallAddress kind functions. TEST=test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32, test-simplified-lowering/RunNumberMultiply_TruncatingToUint32 Review URL: https://codereview.chromium.org/1191513003 Cr-Commit-Position: refs/heads/master@{#29378}
-
- 26 Jun, 2015 1 commit
-
-
mbrandy authored
Port 2b9112a5 Original commit message: This optimization is already implemented in fullcodegen, and basically makes sure that we do not unecessarily blow up the code with duplicated return sequences everywhere. R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1218493003 Cr-Commit-Position: refs/heads/master@{#29333}
-
- 25 Jun, 2015 1 commit
-
-
mbrandy authored
Port a58ba8d8 Original commit message: This introduces some initial building blocks for calling out to C/C++ functions directly from TurboFan generated code objects. R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1206343002 Cr-Commit-Position: refs/heads/master@{#29304}
-
- 23 Jun, 2015 1 commit
-
-
mbrandy authored
The optimized instruction sequences for floating-point min/max do not have the same behaviour as TurboFan's Float(32|64)(Min|Max) functions (incorrect handling for NaN operands). R=dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1193843015 Cr-Commit-Position: refs/heads/master@{#29234}
-
- 17 Jun, 2015 1 commit
-
-
mstarzinger authored
This fixes CodeGenerator::EnsureSpaceForLazyDeopt to no longer be treated as a lazy deopt site in itself. Calls mark themselves as lazy bailout sites in CodeGenerator::RecordCallPosition, which suffices. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1186353003 Cr-Commit-Position: refs/heads/master@{#29069}
-
- 05 Jun, 2015 1 commit
-
-
danno authored
Only optimized for TF R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1146963002 Cr-Commit-Position: refs/heads/master@{#28812}
-
- 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}
-
- 28 May, 2015 1 commit
-
-
mstarzinger authored
This introduces a conservative prediction for each exception handler whether it will locally catch an exception or re-throw it to outside the code bondaries. It will allow for a more intuitive prediction of whether an exception is considered "caught" or "uncaught". R=bmeurer@chromium.org,yangguo@chromium.org BUG=chromium:492522 LOG=N Review URL: https://codereview.chromium.org/1158563008 Cr-Commit-Position: refs/heads/master@{#28681}
-
- 21 May, 2015 1 commit
-
-
svenpanne authored
Currently the stub simply calls out to the runtime, this will be improved in a later CLs. The current state at least avoids bit-rot and later merging horror. Fixes frame construction logic for stubs, too, and contains quite a few tiny cleanups in stub-land. Review URL: https://codereview.chromium.org/1150673002 Cr-Commit-Position: refs/heads/master@{#28555}
-
- 08 May, 2015 1 commit
-
-
bmeurer authored
The Float32Abs and Float64Abs operators are supported by all TurboFan backends, so we no longer need the flags for them. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1132033002 Cr-Commit-Position: refs/heads/master@{#28310}
-
- 05 May, 2015 1 commit
-
-
mbrandy authored
Port d21de2a4 Original commit message: Tail calls are matched on the graph, with a dedicated tail call optimization that is actually testable. The instruction selection can still fall back to a regular if the platform constraints don't allow to emit a tail call (i.e. the return locations of caller and callee differ or the callee takes non-register parameters, which is a restriction that will be removed in the future). Also explicitly limit tail call optimization to stubs for now and drop the global flag. R=dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1114193003 Cr-Commit-Position: refs/heads/master@{#28239}
-
- 30 Apr, 2015 1 commit
-
-
svenpanne authored
This CL contains the first steps towards tail call optimization: * Structurally detect tail calls during instruction selection, looking for special return/call combinations. * Added new architecture-specific instructions for tail calls which jump instead of call and take care of frame adjustment. * Moved some code around. Currently we restrict tail calls to callees which only use registers for arguments/return value and to call sites which are explicitly marked as being OK for tail calls. This excludes, among other things, call sites in sloppy JS functions and our IC machinery (both need in general to be able to access the caller's frame). All this is behind a flag --turbo-tail-calls, which is currently off by default, so it can easily be toggled. Review URL: https://codereview.chromium.org/1108563002 Cr-Commit-Position: refs/heads/master@{#28150}
-
- 20 Apr, 2015 2 commits
-
-
svenpanne authored
Review URL: https://codereview.chromium.org/1098863003 Cr-Commit-Position: refs/heads/master@{#27947}
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 15 Apr, 2015 1 commit
-
-
svenpanne authored
Review URL: https://codereview.chromium.org/1065443004 Cr-Commit-Position: refs/heads/master@{#27830}
-
- 14 Apr, 2015 1 commit
-
-
mbrandy authored
Port 5d2de78a Original commit message: It's cheaper to materialize heap constants by loading from the roots array instead of embedding the constant into the instruction stream, at least on x64, arm and arm64. Drive-by-fix: Also cleanup the materialize constant from frame optimization. R=michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1075303003 Cr-Commit-Position: refs/heads/master@{#27823}
-
- 10 Apr, 2015 1 commit
-
-
michael_dawson authored
Port 725cdc53 Original commit message: This reduces the overhead of recursive calls when context specialization is enabled. Based on this it might be possible to further reduce the overhead by also specializing the call itself. As a drive-by-fix, port the fast context materialization optimization to arm and arm64, that was previously only supported on x64 and ia32. R=mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1078183002 Cr-Commit-Position: refs/heads/master@{#27762}
-