- 21 Apr, 2015 1 commit
-
-
mstarzinger authored
This allows the JSIntrinsicLowering to optimize the cloning of literal boilerplate objects using either the FastCloneShallowArrayStub or the FastCloneShallowObjectStub when applicable. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1097963002 Cr-Commit-Position: refs/heads/master@{#27974}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 15 Apr, 2015 2 commits
-
-
dcarney authored
- make ParallelMove into a ZoneVector, removing an annoying level of indirection - make MoveOperands hold InstructionOperands instead of pointers, so there's no more operand aliasing for moves - opens up possibility of storing MachineType in allocated operands R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1081373002 Cr-Commit-Position: refs/heads/master@{#27842}
-
svenpanne authored
Review URL: https://codereview.chromium.org/1065443004 Cr-Commit-Position: refs/heads/master@{#27830}
-
- 13 Apr, 2015 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org,verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1077343002 Cr-Commit-Position: refs/heads/master@{#27792}
-
- 11 Apr, 2015 1 commit
-
-
Weiliang Lin authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1072343002 Cr-Commit-Position: refs/heads/master@{#27768}
-
- 10 Apr, 2015 1 commit
-
-
bmeurer authored
Currently we always generate a diamond in the graph builder for every legacy const context slot, which we cannot get rid of until late control reduction, even if we know after context specialization that the slot is already initialized. Now we generate a select instead, which the CommonOperatorReducer happily removes during typed lowering. This greatly speeds up asm.js code generated by Emscripten with the new POINTER_MASKING mode. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1072353002 Cr-Commit-Position: refs/heads/master@{#27739}
-
- 09 Apr, 2015 2 commits
-
-
dcarney authored
R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1075903002 Cr-Commit-Position: refs/heads/master@{#27709}
-
dcarney authored
- ConstantOperand was using a too-small field too store its virtual register - drop ConvertTo, replace it with simple copy - split AllocatedOperand off from Immediate and Constant to make assignment clearer, also paving the way for small Immediates - put zone first in *Operand::New - driveby: drop delayed ssa deconstruction experiment R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1050803002 Cr-Commit-Position: refs/heads/master@{#27692}
-
- 08 Apr, 2015 3 commits
-
-
balazs.kilvady authored
Port 9af9f1d0 Original commit message: These operators compute the absolute floating point value of some arbitrary input, and are implemented without any branches (i.e. using vabs on arm, and andps/andpd on x86). BUG= Review URL: https://codereview.chromium.org/1073463003 Cr-Commit-Position: refs/heads/master@{#27679}
-
Benedikt Meurer authored
These operators compute the absolute floating point value of some arbitrary input, and are implemented without any branches (i.e. using vabs on arm, and andps/andpd on x86). R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1066393002 Cr-Commit-Position: refs/heads/master@{#27662}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1061303002 Cr-Commit-Position: refs/heads/master@{#27658}
-
- 07 Apr, 2015 7 commits
-
-
mstarzinger authored
This enables eager optimization of top-level code with TurboFan and extends test coverage by triggering it with the --always-opt flag. Script contexts are now also properly allocated in TurboFan. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1053063003 Cr-Commit-Position: refs/heads/master@{#27633}
-
martyn.capewell authored
Support sxtb and sxth extend operators on add and subtract, as we've done for ubtx/h. This is similar to ARM support for sxtab/h. BUG= Review URL: https://codereview.chromium.org/1064813003 Cr-Commit-Position: refs/heads/master@{#27624}
-
titzer authored
This CL primarily makes the loop peeling algorithm more robust; it no longer damages the graph if the loops are improperly closed. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1052753004 Cr-Commit-Position: refs/heads/master@{#27620}
-
bmeurer authored
We can use xorps/xorpd on Intel CPUs to flip the sign bit. Ideally we'd use an absolute 128-bit constant in the code object, as OCaml/GCC does, however that requires 128-bit alignment for code objects, which is not yet implemented. So for now we materialize the mask inline. As drive-by-fix, don't hardcode xmm0 as scratch double register. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1064833002 Cr-Commit-Position: refs/heads/master@{#27618}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1054963002 Cr-Commit-Position: refs/heads/master@{#27613}
-
baptiste.afsa authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1056543002 Cr-Commit-Position: refs/heads/master@{#27612}
-
bmeurer authored
We can use xorps/xorpd on Intel CPUs to flip the sign bit. Ideally we'd use a RIP-relative 128-bit constant in the code object, as OCaml/GCC does, however that requires 128-bit alignment for code objects, which is not yet implemented. So for now we materialize the mask inline. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1046893002 Cr-Commit-Position: refs/heads/master@{#27611}
-
- 02 Apr, 2015 2 commits
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1057843002 Cr-Commit-Position: refs/heads/master@{#27591}
-
svenpanne authored
Currently, this doesn't really help to generate better code, nevertheless this is the right thing to do. When our type system(s) are fixed, this should avoid falling back to floating point operations in various cases. Review URL: https://codereview.chromium.org/1057813002 Cr-Commit-Position: refs/heads/master@{#27578}
-
- 31 Mar, 2015 4 commits
-
-
mstarzinger authored
This changes the IrOpcode::kThrow operator to have kNoThrow property, which sounds unintuitive, but holds for our graphs. The operators is used to indicate exceptional control flow out of the function, but in itself does not throw, the throwing is done by a runtime call. R=titzer@chromium.org TEST=unittests/CommonOperatorTest/CommonSharedOperatorTest.Properties Review URL: https://codereview.chromium.org/1046173002 Cr-Commit-Position: refs/heads/master@{#27541}
-
svenpanne authored
Currently this only sets branch hints, so we get unlikely code "out of the way", but in the long run the register allocator needs some love to treat the unlikely code as, well, unlikely. :-) Review URL: https://codereview.chromium.org/1048063002 Cr-Commit-Position: refs/heads/master@{#27540}
-
dcarney authored
R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1041163002 Cr-Commit-Position: refs/heads/master@{#27538}
-
mstarzinger authored
TEST=cctest/test-run-jsexceptions Review URL: https://codereview.chromium.org/989123003 Cr-Commit-Position: refs/heads/master@{#27537}
-
- 30 Mar, 2015 2 commits
-
-
baptiste.afsa authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1040053002 Cr-Commit-Position: refs/heads/master@{#27516}
-
bmeurer authored
This adds the basics necessary to support float32 operations in TurboFan. The actual functionality required to detect safe float32 operations will be added based on this later. Therefore this does not affect production code except for some cleanup/refactoring. In detail, this patchset contains the following features: - Add support for float32 operations to arm, arm64, ia32 and x64 backends. - Add float32 machine operators. - Add support for float32 constants to simplified lowering. - Handle float32 representation for phis in simplified lowering. In addition, contains the following (related) cleanups: - Fix/unify naming of backend instructions. - Use AVX comparisons when available. - Extend ArchOpcodeField to 9 bits (required for arm64). - Refactor some code duplication in instruction selectors. BUG=v8:3589 LOG=n R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1044793002 Cr-Commit-Position: refs/heads/master@{#27509}
-
- 27 Mar, 2015 2 commits
-
-
yangguo authored
Revert of [turbofan][arm64] Match fneg for -0.0 - x pattern. (patchset #1 id:1 of https://codereview.chromium.org/1013743006/) Reason for revert: Revert due to crash. Original issue's description: > [turbofan][arm64] Match fneg for -0.0 - x pattern. > > Note that this patch add an extra bit to the ArchOpcodeField. > > R=bmeurer@chromium.org > > Committed: https://crrev.com/fe7441225100660d01e66ce3bcaefe368f62df81 > Cr-Commit-Position: refs/heads/master@{#27494} TBR=bmeurer@chromium.org,baptiste.afsa@arm.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1041633002 Cr-Commit-Position: refs/heads/master@{#27495}
-
baptiste.afsa authored
Note that this patch add an extra bit to the ArchOpcodeField. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1013743006 Cr-Commit-Position: refs/heads/master@{#27494}
-
- 25 Mar, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1029583009 Cr-Commit-Position: refs/heads/master@{#27437}
-
- 24 Mar, 2015 1 commit
-
-
titzer authored
R=dcarney@chromium.org BUG= Review URL: https://codereview.chromium.org/1031803004 Cr-Commit-Position: refs/heads/master@{#27409}
-
- 23 Mar, 2015 1 commit
-
-
dcarney authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1018853003 Cr-Commit-Position: refs/heads/master@{#27373}
-
- 20 Mar, 2015 4 commits
-
-
balazs.kilvady authored
Port 3aa206b8 BUG=v8:3952 LOG=n Review URL: https://codereview.chromium.org/1020223002 Cr-Commit-Position: refs/heads/master@{#27343}
-
bmeurer authored
R=jarin@chromium.org BUG=chromium:468162 LOG=y Review URL: https://codereview.chromium.org/1027753002 Cr-Commit-Position: refs/heads/master@{#27341}
-
Benedikt Meurer authored
R=dcarney@chromium.org, yangguo@chromium.org BUG=v8:3952 LOG=n Review URL: https://codereview.chromium.org/1021183002 Cr-Commit-Position: refs/heads/master@{#27329}
-
Benedikt Meurer authored
R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1028553002 Cr-Commit-Position: refs/heads/master@{#27328}
-
- 19 Mar, 2015 4 commits
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1022783002 Cr-Commit-Position: refs/heads/master@{#27319}
-
jarin authored
With this change, we remember the types of frame state inputs (in a new operator, called TypedStateValues). Instead of inferring the value types when building translations, we used the recorded types. The original approach was not reliable because the passes after simplified lowering can change node types, and this in turn confuses the translation builder. BUG=chromium:468727 LOG=n R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1015423002 Cr-Commit-Position: refs/heads/master@{#27310}
-
jacob.bramley authored
Add support for appending extend modes uxtb or uxth to add and subtract instructions, and using them in the instruction selector. BUG= Review URL: https://codereview.chromium.org/1021533002 Cr-Commit-Position: refs/heads/master@{#27303}
-
Benedikt Meurer authored
This reduces the overhead of typed lowering, because we lower JSToBoolean/JSUnaryNot directly if possible, instead of first lowering to AnyToBoolean, and then letting the SimplifiedOperatorReducer do the further lowering. Also remove some obsolete tests from the cctest suite that have since been removed by proper unittests. And improve unitttest coverage for the typed lowering cases. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/999173003 Cr-Commit-Position: refs/heads/master@{#27295}
-