-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimization: Generic specialization for equality #513
Closed
Closed
Changes from 1 commit
Commits
Show all changes
422 commits
Select commit
Hold shift + click to select a range
44401bc
fix 659
dsyme 0908c2f
fix to only apply to extrinsic extensions
dsyme 11287c2
add positive testing
dsyme 34690b7
update tests
dsyme 4ac3dad
updated to latest version of tests
enricosada d73eed8
upgrade to nunit 3, beta 3
enricosada 3190096
Add failing test for 'ToString() returns null bug'
rojepp 7ae2aca
Fix #706 Nullref exception in FSI
rojepp fde75b0
use tests\RunTests.cmd to run tests
enricosada 930a8a6
use case sensitive env vars ( FSCBINPATH )
enricosada 6637c9d
fix build
enricosada 8f65c82
Update README.md
KevinRansom 361aed2
Inline "Required Tools for Windows Development and Testing"
forki 56e04f3
Merge pull request #709 from forki/requiredsoftware
KevinRansom 25e573e
Update README.md
KevinRansom 0192193
Add links to DEVGUIDE and TESTGUIDE
forki ff9c805
Merge pull request #714 from forki/patch-3
dsyme df3cac2
add in environment variable check for VS installed in non-default loc…
baronfel 8c07362
Merge branch 'tests_suite_with_nunit' of https://github.com/enricosad…
KevinRansom 3ed761e
fix appveyor build badge of master branch
enricosada e1a4e66
revert to run only a reduced set of tests
enricosada b48024c
Merge pull request #727 from enricosada/patch-6
KevinRansom 990efb2
Merge pull request #726 from enricosada/patch-5
KevinRansom f3ec711
Update to nunit 3.0.0
KevinRansom 0f72992
Send our our NUnit test results to AppVeyor
SamB fc0800a
Merge branch 'fix-654' of https://github.com/kbattocchi/visualfsharp …
KevinRansom ab9051a
ideunit test needs --x86
KevinRansom dc867b3
Merge branch 'master' of https://github.com/tpetricek/visualfsharp in…
KevinRansom 3431e61
Merge branch 'fix-671' of https://github.com/dsyme/visualfsharp into …
KevinRansom 56fbb87
Alignment with FCS to propagate specifier ranges in CheckFormatSt…
dsyme bc367dc
Merge branch 'to_string_null_fix' of https://github.com/rojepp/visual…
KevinRansom 8e58c9d
Remove uncommented code in Async.Parallel and test for proper cancell…
forki 89a25de
Merge branch 'vs_version_sniffing' of https://github.com/baronfel/vis…
KevinRansom e8f803b
Merge branch 'fix-regression' of https://github.com/dsyme/visualfshar…
KevinRansom d1f13d3
Fix nuget_config and build nunit cambridge tests
KevinRansom 4eb0c4d
Merge remote-tracking branch 'refs/remotes/Microsoft/master'
KevinRansom 82eac8b
Tweaks for internal build
KevinRansom 2ebf0fc
fix build
enricosada 7cb8e7d
Merge pull request #1 from Microsoft/master
13a8a34
remove status file
KevinRansom c4d42ea
Improve ideunit test results
KevinRansom 48a9b0a
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
KevinRansom 8156959
Merge branch 'vs2015' of https://github.com/Microsoft/visualfsharp in…
KevinRansom 34b1e17
Fix runtests when running under appveyor
KevinRansom 153965b
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
KevinRansom 2523ecd
Merge branch 'vs2015' of https://github.com/Microsoft/visualfsharp in…
KevinRansom 9e38a76
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
439e695
Merge pull request #747 from KevinRansom/master
KevinRansom f5238ea
Merge pull request #746 from KevinRansom/vs2015
KevinRansom 7033a9c
Add portablelibrary259 to appveyor suite
KevinRansom f1bc1df
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
KevinRansom 12b145c
Merge branch 'master' into vs2015
KevinRansom e27e4d1
fix ProductVersion file attribute
enricosada c0afb70
Add changelog for VS 2015 Update 1
dungpa b40ef57
Address comments
dungpa 56df599
Merge pull request #751 from dungpa/changelog
KevinRansom 21971fb
Merge branch 'master' into vs2015
KevinRansom fa4f10b
Update README.md
KevinRansom 17a69f3
Changed all source references from F# 4.0 to F# 4.1
8759c24
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
c2ddb89
Fix VS Integration Script
619a44c
Fix for version matrices tests
261732c
fix problem with loop optimization
dsyme 912b811
excluded files (not in build) from fsharp suite project
enricosada c68b5cb
Merge pull request #757 from enricosada/remove_nodes_from_tests_proj
dsyme 41fb93f
Address PR refactoring comments
729d8d1
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
4822f99
Address PR Refactoring Comments
9a0886c
Fixing binding redirects in VS Integration
a3dc921
Merge pull request #755 from otawfik-ms/master
c1e0bc8
Merge branch 'fix-742' of https://github.com/dsyme/visualfsharp into …
KevinRansom bbb086e
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
KevinRansom c8b3c56
Fix 581 - Async.RunSynchronously tries to reuse current thread
radekm 4598abf
Update CONTRIBUTING.md
dsyme a989745
fix build problem of #756
mexx 558f92c
Merge remote-tracking branch 'refs/remotes/Microsoft/master'
8f8d7ea
Fix 4.1 registry key references
691bbdd
Adopt code of conduct
KevinRansom 52d4e00
fix build problem of #756
mexx 8a23295
Update CONTRIBUTING.md
dsyme d3b9694
Merge pull request #772 from KevinRansom/code_ofconduct
KevinRansom 624b58a
Update LKG to 4.0
e714d30
Fix Compiler Load Order (during LKG build)
a571f3c
Fix typo in RunTests.cmd
f742220
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
b8eb598
Merge branch 'fix_upload_tests_results_to_appveyor' of https://github…
enricosada f3a0d7d
This closes #765 by removing an invalid nuget reference to Microsoft.…
WilliamBerryiii 863f830
Remove dnx from packages.config
KevinRansom 04d79f0
Adopt code of conduct
KevinRansom 3deda35
Update LKG to F# 4.0
320d916
Merge pull request #776 from otawfik-ms/master
e7d41d8
Merge branch 'vs2015'
KevinRansom f94f3f8
use Interlocked.Increment to be thread safe
enricosada 46f9382
Upgrading LKG FSharp.Core to 4.0
e064260
Updated FsLex/FsYacc Fsharp.Core bindings
4bb100f
Merge pull request #787 from otawfik-ms/master
b63b919
use appveyor build matrix / split CI build into 3 sections for now
enricosada 1764b93
Add update-vsintegration for plib tests
KevinRansom e6f6797
Merge branch 'vs2015'
KevinRansom 95c02dd
use IDisposable instead of ILModuleReader.CloseILModuleReader
enricosada 7d11d03
use IDisposable instead of ILModuleReader.CloseILModuleReader
enricosada d8a83cb
fix build badge, use a matrix with all branches
enricosada 4d30685
Add badge for vs2015
KevinRansom faaa316
fix build badge, use a matrix with all branches
enricosada 32e98e4
Add badge for vs2015
KevinRansom a504061
Merge pull request #781 from enricosada/use_thread_safe_increment
KevinRansom 38846c3
use Interlocked.Increment to be thread safe
enricosada e0be26e
Investigste failures in appveyor
KevinRansom 673534d
Fix portable library fsharp.core paths for F# 4.1
KevinRansom 7b170de
use ImplicitZero instead of Yield or Return unit
mexx 130c86b
add tests for old and new behavior for last do!
mexx a74b2b8
Fix qa tests for 4.1
KevinRansom 6bff0d3
go back to not using the matrix
KevinRansom ddb9218
Corrected portable libraries version strings
e04d313
Added missing .net references to test files
abcfc99
Upgrade - nuint-final
enricosada dcedbc8
Re-enable test matrix
8fdcbb7
Update vsix to 4.0.2 -- to enable gallery push
KevinRansom 9ff4642
update runtests
KevinRansom c4de13e
Merge pull request #802 from KevinRansom/vs2015
KevinRansom de1e389
Merge branch 'vs2015'
KevinRansom 9129c34
Squashed commit of the following:
enricosada d6924c4
Merge branch 'vs2015'
KevinRansom 39527b9
implement Async.Choice
eiriktsarpalis c4bdb2d
add Async.Choice to SurfaceArea tests
eiriktsarpalis 54de8fa
add build conditionals for .net portable
eiriktsarpalis 43dd871
update Async.Choice description
eiriktsarpalis 8b4cdd4
incorporate surface test changes
eiriktsarpalis 4f44983
add choice to all surface area test definitions
eiriktsarpalis e758c51
incorporate feedback
eiriktsarpalis b81dea5
fix parameter names in Async.Parallel & Async.Choice.
eiriktsarpalis f225b87
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
89ae4a7
Fixed Appvoyer script to run QA suite smoke only
28d0c0c
improve async.choice xml doc
eiriktsarpalis 1da20e4
changes to choice xml doc
eiriktsarpalis fd4d36f
Merge pull request #812 from otawfik-ms/master
KevinRansom 97261db
Added missing .net references to test files
3ecb5e5
Re-enable test matrix
1e33305
Fixed Appvoyer script to run QA suite smoke only
9811603
Merge pull request #817 from otawfik-ms/vs2015
b861e4e
fixes counters warning 3180
mpetruska 273ca0c
resolve merge conflict
dsyme 589168b
Added CI groovy script
4de5084
Fix typo
5928a5a
Merge pull request #852 from otawfik-ms/ci
eefbbb8
Added NUnit Test Results/Running Smokes for now
89ed923
Archieving Release artifacts
267331c
Fixed commas in build paths
90643d1
Merge pull request #856 from otawfik-ms/dotnet-ci
596621f
add build_only argument at appveyor-build.cmd to skip tests ( others …
enricosada f4e2cfc
teach fsc/fsi how to use response files
enricosada 6127e6a
add tests
enricosada dd75644
add help about @response files
enricosada 2f30b90
add test compile error expected if response file does not exist
enricosada 9bed9be
rename resources
enricosada d43f1a9
document how to add new resources and error numbers
enricosada 2c6fedf
Merge pull request #841 from mpetruska/fix-fsharp-compiler-build
dsyme c372df4
add build_only argument at appveyor-build.cmd to skip tests ( others …
enricosada 1370b0f
use a different build script for jenkins
enricosada 79f7429
use elevated machine
enricosada e3a7c94
add debug/release
enricosada 6bf9b41
Merge pull request #860 from enricosada/make_jenkins_green
757f35c
Added msbuild commands to Jenkins build
c620056
Jenkins skipIfNoTestFiles = true
9b6d582
Utilities.addXUnitDotNETResults string argument
f92376b
Merge pull request #868 from otawfik-ms/fix-jenkins-errors
64c16ed
Merge branch 'master' of https://github.com/otawfik-ms/visualfsharp i…
eff6f1c
Utilities.addArchival lowerConfiguration
73f8458
Merge pull request #867 from otawfik-ms/dotnet-ci
23f4612
Add nuget
KevinRansom 1391291
Merge branch 'vs2015'
KevinRansom 015001d
use detectEncodingFromByteOrderMarks
enricosada 20f0552
add error if response file name is empty or invalid
enricosada e1531d5
Integrate FCS API: Changes to src\fsharp\vs\IncrementalBuild.{fs,fsi}
dsyme 63f76f5
Integrate FCS API: Changes to src\fsharp\vs\service.{fs,fsi}
dsyme 1b8fb96
Integrate FCS API: Changes to src\fsharp\vs
dsyme 9635bd0
Integrate FCS API: Changes to src\fsharp
dsyme 190f703
Integrate FCS API: Changes to src\absil
dsyme 9342e0f
Integrate FCS API: Changes to vsintegration\src\vs\FsPkgs\FSharp.Lang…
dsyme 6c47d21
Integrate FCS API: Other changes to vsintegration\src\Salsa
dsyme d36d267
Integrate FCS API: Other changes to vsintegration\src
dsyme f3508a5
Integrate FCS API: Other changes to tests\service
dsyme 6e23d59
Integrate FCS API: Other changes
dsyme c420f55
Merge pull request #677 from dsyme/fix-528
KevinRansom 0735d37
Merge branch 'fsharp4' of https://github.com/manofstick/visualfsharp …
KevinRansom 13fcdf5
Merge branch 'manofstick-fsharp4'
KevinRansom c0a7595
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
KevinRansom 28dfbe6
Merge branch 'issue_605_product_version' of https://github.com/enrico…
KevinRansom 680ac34
Merge branch 'enricosada-issue_605_product_version'
KevinRansom 939e6ab
Merge branch 'async-choice' of https://github.com/eiriktsarpalis/visu…
KevinRansom 67f3497
Merge branch 'eiriktsarpalis-async-choice'
KevinRansom 5639468
Merge branch 'mem2' of https://github.com/dsyme/visualfsharp into dsy…
KevinRansom c032027
Merge branch 'dsyme-mem2' into vs2015
KevinRansom c2becd4
Merge branch 'fix-sp-errors' of https://github.com/dsyme/visualfsharp…
KevinRansom 093c5ed
Merge branch 'dsyme-fix-sp-errors' into vs2015
KevinRansom 63cad60
Merge branch 'fix-659' of https://github.com/dsyme/visualfsharp into …
KevinRansom c82c33c
Merge branch 'dsyme-fix-659' into vs2015
KevinRansom 93f3c82
Merge branch 'zero-for-return-unit' of https://github.com/mexx/visual…
KevinRansom 3268a62
Merge branch 'mexx-zero-for-return-unit'
KevinRansom 4afd93e
Merge branch 'vs2015'
KevinRansom bfa8532
Merge branch 'teach_fsc_how_to_use_responsefile' of https://github.co…
KevinRansom 0937f9b
Merge branch 'vs2015'
KevinRansom fe5127c
Make FSC error numbers for response files consistent between F# 4.0 a…
KevinRansom 20fecbc
Add nocopyfsharpcore option to fsc.exe
858931a
Update fscomp.txt to fix merge issue
KevinRansom 69e9cb3
Merge branch 'vs2015'
KevinRansom 2597c84
Merge pull request #678 from radekm/run-sync-reuses-thread
KevinRansom 91a5323
Added copying Fsharp.Core to the compiler
e3b8c72
integrate with master
dsyme 29f1952
Switch resolution order to search compilers directory first before cu…
5b73d8e
update vsintegration.cmd
dsyme 736e9c1
Migrate "fsharpqa" suite to use NUnit
enricosada 0c7c3de
Merge pull request #853 from dsyme/fcs-integration-1
KevinRansom b584ee7
Remove compiler code accessing GACUtil
cf47f70
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
599f738
add jenkins badge to README
enricosada 218bdf2
Merge pull request #874 from enricosada/add_jenkins_badge_to_readme
c9e992c
Merge branch 'master' of https://github.com/Microsoft/visualfsharp
KevinRansom 0148c07
Fix fsc.exe to copy FSharp.Core.dll from references if existed
3aef1ee
put back badly merged sources into Fsharp.compilr.fsproj
KevinRansom 2f3d3f7
Fix update-vsintegration to copy GAC'ed files into VS PrivateAssembli…
55f9833
Fsc.exe now searchs its own directory for FSharp.Core.dll instead of …
62723aa
Fixing failed tests
0755207
update project files
dsyme bdea845
reorg solution file
dsyme feb99db
Merge pull request #891 from dsyme/proj-cleanup
dsyme fa0e079
reorg solution file (2)
dsyme 149758a
reorg solution file (3)
dsyme 1b967a6
rename Deployment.sln
dsyme ab3ac15
reorg solution file (4)
dsyme fcc5950
Merge branch 'master' of https://github.com/otawfik-ms/visualfsharp i…
e73ad5a
Merge branch 'copyfsharpcore' of https://github.com/otawfik-ms/visual…
318e679
PR comments
c301020
Merge pull request #894 from otawfik-ms/copyfsharpcore
29389b3
fix build and remove #light
dsyme 26162cc
fix build
dsyme 1bbc360
Merge pull request #893 from dsyme/proj-cleanup-2
dsyme 52f5117
add xmldoc about Seq.rev consume input sequence
enricosada 75c7624
feedback
enricosada f4cf7e3
don't clobber F# SDK
dsyme 8ced26a
add doc to sort, foldBack, reduceBack, tryFindBack, findBack, scanBac…
enricosada a458989
Merge pull request #903 from enricosada/xmldoc_seqrev
dsyme ad8c5ee
Merge pull request #904 from dsyme/fix-ci-build-1
KevinRansom e3d64fe
reset (c) Microsoft Open Technologies, Inc. back to (c) Microsoft Cor…
KevinRansom 95fb299
Merge pull request #906 from KevinRansom/master
KevinRansom fa1e55a
Gitignore generated FSharp.Core.dll
forki b837d75
Merge pull request #909 from forki/ignore
dsyme bf78c0f
Fix mini typo and remove commented code
forki 4f761cb
Merge pull request #927 from forki/patch-4
dsyme c8461eb
Merge remote-tracking branch 'refs/remotes/Microsoft/master' into fsh…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel a little uneasy about using "a.Equals b" as the base case in all of these different type-specific implementations, both here and here. For example these implementations must exactly match the bases cases implemented here https://github.com/Microsoft/visualfsharp/pull/513/files#diff-5470ddaa52d99663f8d391a77ae04f0dL1518 and here: https://github.com/Microsoft/visualfsharp/pull/513/files#diff-5470ddaa52d99663f8d391a77ae04f0dL1758
I think I'd feel more comfortable if we textually repeated
(# "ceq" x y : bool #)
here. For example, I currently have to think carefully "does a.Equals(b) really get optimized down to exactly a ceq instruction?". Because "a" is a value type I'm not actually totally sure it does. If we just emit a ceq then I don't need to check.