- 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}
-
- 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}
-
- 19 May, 2015 1 commit
-
-
balazs.kilvady authored
MIPS64r6 and MIPS32r6 support for min and max and Float64Max machine operators. BUG= Review URL: https://codereview.chromium.org/1027193002 Cr-Commit-Position: refs/heads/master@{#28471}
-
- 08 May, 2015 2 commits
-
-
dusan.milosavljevic authored
TEST= BUG= Review URL: https://codereview.chromium.org/1124023005 Cr-Commit-Position: refs/heads/master@{#28315}
-
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
-
-
bmeurer authored
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. BUG=v8:4076 LOG=n Review URL: https://codereview.chromium.org/1114163005 Cr-Commit-Position: refs/heads/master@{#28219}
-
- 04 May, 2015 1 commit
-
-
akos.palfi authored
These instructions have unpredictable result when the processor is in fp32 mode. BUG= TEST=mjsunit/math-floor-global,math-floor-local,math-floor-part1 Review URL: https://codereview.chromium.org/1116073002 Cr-Commit-Position: refs/heads/master@{#28194}
-
- 30 Apr, 2015 2 commits
-
-
balazs.kilvady authored
4b122b75 BUG= Review URL: https://codereview.chromium.org/1116913002 Cr-Commit-Position: refs/heads/master@{#28183}
-
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}
-
- 14 Apr, 2015 1 commit
-
-
paul.lind authored
Port 5d2de78a BUG= Review URL: https://codereview.chromium.org/1085693003 Cr-Commit-Position: refs/heads/master@{#27825}
-
- 09 Apr, 2015 2 commits
-
-
balazs.kilvady 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. BUG= Review URL: https://codereview.chromium.org/1074743002 Cr-Commit-Position: refs/heads/master@{#27700}
-
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 2 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}
-
- 01 Apr, 2015 2 commits
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1052653003 Cr-Commit-Position: refs/heads/master@{#27575}
-
paul.lind authored
Could not encode the large slot number in opcode MiscField. TEST=mozilla/js/tests/js1_5/Regress/regress-396684.js BUG= Review URL: https://codereview.chromium.org/1043393002 Cr-Commit-Position: refs/heads/master@{#27574}
-
- 31 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Add missing parts of the port to MIPS/MIPS64 implementations. BUG= Review URL: https://codereview.chromium.org/1047213002 Cr-Commit-Position: refs/heads/master@{#27551}
-
- 30 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 8dad78cd Original commit message: 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 Review URL: https://codereview.chromium.org/1046953004 Cr-Commit-Position: refs/heads/master@{#27531}
-
- 27 Mar, 2015 1 commit
-
-
dusan.milosavljevic authored
TEST=mjsunit/compiler/regress-3, osr-maze1 BUG= Review URL: https://codereview.chromium.org/1038173003 Cr-Commit-Position: refs/heads/master@{#27499}
-
- 26 Mar, 2015 2 commits
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1019923004 Cr-Commit-Position: refs/heads/master@{#27480}
-
titzer authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1019803005 Cr-Commit-Position: refs/heads/master@{#27468}
-
- 25 Mar, 2015 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1026023004 Cr-Commit-Position: refs/heads/master@{#27454}
-
- 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}
-
- 20 Mar, 2015 2 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
BUG=chromium:469089 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/1026683002 Cr-Commit-Position: refs/heads/master@{#27333}
-
- 19 Mar, 2015 1 commit
-
-
dusan.milosavljevic authored
In prevous set-up table switch is rarely generated. TEST=cctest/test-serialize/SerializeInternalReference BUG= Review URL: https://codereview.chromium.org/1019463003 Cr-Commit-Position: refs/heads/master@{#27307}
-
- 12 Mar, 2015 2 commits
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1006523002 Cr-Commit-Position: refs/heads/master@{#27169}
-
balazs.kilvady authored
Port 99f8d57f Original commit message: Basically recognize certain x < y ? x : y constructs and turn that into Float64Min/Float64Max operations, if the target machine supports that. On x86 we lower to (v)minsd/(v)maxsd. BUG= Review URL: https://codereview.chromium.org/1006513002 Cr-Commit-Position: refs/heads/master@{#27168}
-
- 10 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 022ea7e0 Original commit message: Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize both Math.ceil and Math.floor, and use the JS inlining mechanism to inline Math.ceil into TurboFan code. Although we need to touch code outside of TurboFan to make this work, this does not affect the way we handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft the old-style builtin function id based inlining still kicks in first. Once this solution is stabilized, we can use it for Math.floor as well. And once that is settled, we can establish it as the unified way to inline builtins, and get rid of the specialized builtin function id based inlining at some point. Note that "builtin" applies to basically every piece of internal JavaScript/intrinsics based code, so this also applies to the yet to be defined JavaScript based code stubs and handlers. BUG=v8:3953 LOG=n Review URL: https://codereview.chromium.org/998503002 Cr-Commit-Position: refs/heads/master@{#27117}
-
- 05 Mar, 2015 1 commit
-
-
balazs.kilvady authored
Port 4436c264 Original commit message: This adds support for the double bits intrinsics to TurboFan, and is a first step towards fast Math functions inlined into TurboFan code or even compiled by themselves with TurboFan. BUG= Review URL: https://codereview.chromium.org/980073003 Cr-Commit-Position: refs/heads/master@{#27028}
-
- 04 Mar, 2015 1 commit
-
-
jarin authored
BUG= Review URL: https://codereview.chromium.org/961973002 Cr-Commit-Position: refs/heads/master@{#26993}
-
- 25 Feb, 2015 1 commit
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/951553005 Cr-Commit-Position: refs/heads/master@{#26859}
-
- 23 Feb, 2015 1 commit
-
-
balazs.kilvady authored
Port 9c1407da BUG= Review URL: https://codereview.chromium.org/948843002 Cr-Commit-Position: refs/heads/master@{#26797}
-
- 20 Feb, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/943503003 Cr-Commit-Position: refs/heads/master@{#26783}
-
- 18 Feb, 2015 1 commit
-
-
balazs.kilvady authored
Space and time constants fixed. Delay slot optimisations added. BUG= Review URL: https://codereview.chromium.org/940453003 Cr-Commit-Position: refs/heads/master@{#26729}
-
- 17 Feb, 2015 1 commit
-
-
balazs.kilvady authored
Port acd9c46c Original commit message: This adds a new ControlFlowOptimizer that - for now - recognizes chains of Branches generated by the SwitchBuilder for a subset of javascript switches into Switch nodes. Those Switch nodes are then lowered to either table or lookup switches. Also rename Case to IfValue (and introduce IfDefault) for consistency. BUG=v8:3872 LOG=n Review URL: https://codereview.chromium.org/931263002 Cr-Commit-Position: refs/heads/master@{#26707}
-
- 16 Feb, 2015 1 commit
-
-
svenpanne authored
The heuristic is quite naive at the moment (build a frame iff the register allocator needed spill slots), we can improve that later. Review URL: https://codereview.chromium.org/933603002 Cr-Commit-Position: refs/heads/master@{#26664}
-