Skip to content
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

GC support for stack allocated objects #12205

Closed
wants to merge 2,850 commits into from
Closed
Changes from 3 commits
Commits
Show all changes
2850 commits
Select commit Hold shift + click to select a range
40dd9a6
Regenerate stdlib
jiahao Feb 16, 2016
5768252
Made octal examples easier to read on ReadTheDocs
omus Feb 16, 2016
bee33ee
Merge pull request #15103 from JuliaLang/cjh/doc-gsvd
jiahao Feb 17, 2016
47adbb9
Merge pull request #15092 from JuliaLang/anj/setindex
andreasnoack Feb 17, 2016
9fbf75b
a few more micro-optimizations to parsing
JeffBezanson Feb 17, 2016
87fa15f
Merge pull request #15111 from omus/octal_examples
jiahao Feb 17, 2016
4431a28
Fix laplace3d threading example.
yuyichao Feb 17, 2016
ed460e4
Merge pull request #15071 from JuliaLang/mb/lispyviews
mbauman Feb 17, 2016
be3cf62
add specialized copy! for sparse matrices
KristofferC Feb 16, 2016
8077d11
Don't silently convert `BigFloat`s in Bessel and Airy functions (fixe…
simonbyrne Feb 17, 2016
08ed0fc
add `ini_HEX` method for ints
simonbyrne Feb 17, 2016
ae2fa2a
ENV: test errors for non-existent keys, NUL-containing keys
StefanKarpinski Feb 11, 2016
a12f990
ENV: cosmetic changes
StefanKarpinski Feb 11, 2016
287c053
ENV: inline _jl_win_getenv into its only call site
StefanKarpinski Feb 11, 2016
f05736d
ENV: move system-specific code into large os-specific blocks
StefanKarpinski Feb 11, 2016
b578664
ENV: change access_env from macro to higher-order function
StefanKarpinski Feb 11, 2016
3afd89d
fix suboptimal inference of `Type{x}`
JeffBezanson Feb 17, 2016
c99b9f6
Merge pull request #14806 from JuliaLang/sk/complexsign
StefanKarpinski Feb 17, 2016
8f26020
First attempt at enabling syntax for generators within parens
mbauman May 2, 2014
73a572c
patches #13682 to fix memory mapping of large files on Windows
Cody-G Feb 17, 2016
73950bf
Merge pull request #15122 from JuliaLang/sk/envtweaks
StefanKarpinski Feb 18, 2016
8536c88
Reenable test of condition number estimates of sparse matrices
andreasnoack Feb 17, 2016
522dc23
Remove unnecessary extern "C"
yuyichao Feb 16, 2016
a5b4806
Make atomic macros function like
yuyichao Feb 16, 2016
f84de78
Create julia_threads.h
yuyichao Feb 16, 2016
b3527cf
Clean up jl_cpu_pause and create jl_cpu_wake for ARM.
yuyichao Feb 16, 2016
a8f6933
Move more threading related definitions to julia_threads.h
yuyichao Feb 16, 2016
88ffc5f
Make atomic add type generic and match the function name with c++11/c…
yuyichao Feb 16, 2016
0b8f8ba
Make atomic cas generic and match the function name with c++11/c11 one.
yuyichao Feb 16, 2016
f66ec96
Remove cpu_mfence since no one is using it.
yuyichao Feb 16, 2016
f782773
Remove ti_threadgroup_t::forked since no one is reading it
yuyichao Feb 16, 2016
afc167a
Add c11/c++11 like atomic store and load
yuyichao Feb 16, 2016
6a68a3a
More threading related code in julia_threads.h
yuyichao Feb 16, 2016
80af38f
Replace cpu_lfence and cpu_sfence with atomics. Remove ia_misc.h
yuyichao Feb 16, 2016
ba8e972
Merge pull request #15124 from JuliaLang/jb/parsefaster2
JeffBezanson Feb 18, 2016
1f21ee1
sparse/umfpack.jl: correct fallbacks for lufact
jiahao Feb 16, 2016
42fdac1
Add test for #15099
jiahao Feb 16, 2016
6bc53b8
Test size(::UmfpackLU)
jiahao Feb 17, 2016
29f039a
lufact doctring: Moved to linalg/lu.jl
jiahao Feb 16, 2016
d7d10fd
Regenerate stdlib
jiahao Feb 16, 2016
ff69789
Break long lines
jiahao Feb 17, 2016
fabec7b
Merge pull request #15125 from Cody-G/cjg/fix_mmap_win
tkelman Feb 18, 2016
345d011
Remove no longer accurate Windows warning in build_sysimg.jl
tkelman Feb 18, 2016
8a02b3f
Clarify section about Base.convert fall-back.
helgee Feb 18, 2016
b5ccc51
Fix unix version of default_sysimg_path
tkelman Feb 18, 2016
200fcdf
Remove trailing whitespace.
helgee Feb 18, 2016
84e0a18
Merge pull request #15104 from KristofferC/kc/sparse_copy
mbauman Feb 18, 2016
0b9041a
added os_only documentation
Feb 11, 2016
008cf23
mmap: remove unnecessary use of utf16
StefanKarpinski Feb 18, 2016
fc799c3
Merge pull request #15132 from helgee/master
JeffBezanson Feb 18, 2016
400710c
julia-mode: Fix prompt regexp
justbur Feb 18, 2016
7220389
Merge pull request #15135 from justbur/julia-mode-fix-prompt
yuyichao Feb 18, 2016
279586b
Merge pull request #15108 from morris25/add_os_only_documentation
tkelman Feb 18, 2016
0d4fec3
implement generator expressions (#4470)
JeffBezanson Jan 29, 2016
bc0956b
make generator expressions consume all following comma-separated expr…
JeffBezanson Feb 15, 2016
04f208f
Merge pull request #15113 from JuliaLang/anj/cond
andreasnoack Feb 18, 2016
442084c
Improve docs about read*() functions
nalimilan Feb 18, 2016
cf35323
Replace docstrings containing | in signatures
nalimilan Feb 18, 2016
809fe14
Merge pull request #15105 from pkofod/master
StefanKarpinski Feb 18, 2016
6b65a39
Adding SubArray tests to generic.jl, includes fix for linreg bug found
Feb 18, 2016
0cd7a93
Better SubArray support for strange indices
mbauman Feb 18, 2016
179a439
Merge pull request #15137 from JuliaLang/sk/rm-mmap-utf16
StefanKarpinski Feb 19, 2016
d8b5679
Merge pull request #14848 from JuliaLang/jb/generators
JeffBezanson Feb 19, 2016
d940737
Only do Travis branch builds on master and release branches
tkelman Feb 19, 2016
4ec8918
Use -fdefault-integer-8 when building lapack from source against ILP6…
tkelman Feb 19, 2016
0f9723c
Merge pull request #15130 from JuliaLang/tk/sysimgwarn
tkelman Feb 19, 2016
11225d1
sysimg.jl: load osutils.jl before c.jl
StefanKarpinski Feb 11, 2016
103db50
highlander: add utf8to16, utf16to8, cwstring; excise UTF16String
StefanKarpinski Jan 27, 2016
6970fda
clipboard: add some basic tests (OS X & Windows)
StefanKarpinski Feb 18, 2016
f25a4b9
Merge pull request #15147 from JuliaLang/tk/travis
StefanKarpinski Feb 19, 2016
06c9fb7
intel fortran compiler uses a different flag for integer size
tkelman Feb 19, 2016
fa4bbef
Merge pull request #15033 from JuliaLang/sk/utf16helpers
StefanKarpinski Feb 19, 2016
71ed496
Merge pull request #14941 from bicycle1885/inv-diagonal
andreasnoack Feb 19, 2016
3e7ec53
Merge pull request #15141 from JuliaLang/nl/readdocs
nalimilan Feb 19, 2016
fd636f7
Make code_llvm output closer to the actual llvm IR
yuyichao Feb 19, 2016
3816e8f
Merge pull request #15153 from JuliaLang/yyc/code_llvm_gc
yuyichao Feb 19, 2016
cfe03b0
turn on --compile=all testing on one of the travis CI configurations
vtjnash Jan 28, 2016
9deaea7
Remove superflous *one(T) in det for Unit...Triangular{T}
pkofod Feb 19, 2016
7c4c123
Merge pull request #15106 from JuliaLang/yyc/threads/c11
yuyichao Feb 19, 2016
5153621
julia-mode: Move tests to new file and improve
justbur Feb 18, 2016
0d48dda
Merge pull request #15140 from justbur/julia-mode-move-ert-tests
yuyichao Feb 20, 2016
6143237
Missing semicolon for MSVC
yuyichao Feb 20, 2016
1757229
Merge pull request #15102 from JuliaLang/cjh/lufact-overhaul
jiahao Feb 20, 2016
2325e3d
Add test for fixed #13229
ihnorton Feb 20, 2016
3a90d3d
Complex symv and syr are part of lapack, not blas
tkelman Feb 20, 2016
2a99196
Use timer_create instead of sigtimedwait on linux for profiling
yuyichao Feb 20, 2016
de1f565
Merge pull request #15144 from mbauman/mb/strange-indices
mbauman Feb 20, 2016
076fb31
add test for local variables created after localized vars (#11062)
amitmurthy Feb 20, 2016
bc64d3a
Merge pull request #15080 from JuliaLang/teh/max_tupletype_len
timholy Feb 20, 2016
c0985f8
remove the second argument of LineEdit.keymap_fcn
bicycle1885 Feb 20, 2016
4440e02
Merge pull request #15162 from JuliaLang/yyc/fast_profile
yuyichao Feb 20, 2016
a415911
Merge pull request #14922 from JuliaLang/sb/sinpi
simonbyrne Feb 20, 2016
a2ddffa
Merge pull request #14797 from eschnett/eschnett/int-cmp
eschnett Feb 20, 2016
92069dc
Merge pull request #15160 from JuliaLang/tk/blas
tkelman Feb 20, 2016
8b97fa4
Merge pull request #15157 from pkofod/master
jiahao Feb 20, 2016
34ec585
Update atomic_rmw operations to use acq_rel ordering; introduce fence…
eschnett Feb 20, 2016
d8de6cf
Merge pull request #15159 from ihnorton/f13229
ihnorton Feb 21, 2016
c8b84b6
Merge pull request #15126 from eschnett/eschnett/atomic-rmw
eschnett Feb 21, 2016
a48f458
Merge pull request #15165 from bicycle1885/patch1
blakejohnson Feb 21, 2016
7a27cc9
Catch segfault in unwinder
yuyichao Feb 21, 2016
8c6c37c
Changed logdet method for LU for better performance. Also, removed lo…
sarvghotra Feb 21, 2016
dbae7b9
Merge pull request #14835 from eschnett/eschnett/complex-fast-div
eschnett Feb 21, 2016
e3c1b22
Make doc collection 600x faster in genstdlib.jl
yuyichao Feb 21, 2016
8241f60
Export StatStruct from FileSystem instead of Base.
yuyichao Feb 21, 2016
c6dae70
Merge pull request #15169 from JuliaLang/yyc/unwind-segfault
yuyichao Feb 21, 2016
c20f1e1
Merge pull request #15154 from JuliaLang/jn/compileall_travis
vtjnash Feb 21, 2016
e907068
Merge pull request #15164 from JuliaLang/amitm/test11062
vtjnash Feb 21, 2016
ef97801
Merge pull request #15121 from JuliaLang/sb/printf-hex-int
vtjnash Feb 21, 2016
772d903
Merge pull request #15145 from jacobflath/jdf/genericsubarraytests
andreasnoack Feb 21, 2016
5668daf
Add issparse methods for specialized matrix types.
pkofod Feb 22, 2016
2f43113
clipboard: add some comments
StefanKarpinski Feb 22, 2016
1b27f62
Merge pull request #15185 from JuliaLang/sk/comments-for-tony
StefanKarpinski Feb 22, 2016
6c3190e
fix #15163, serialize of types with parameters
JeffBezanson Feb 22, 2016
72cf128
Add in recursive abilities to chmod
Feb 4, 2016
2228674
Test for symbol collision in staged function with unused arguments.
yuyichao Feb 22, 2016
aa08b2a
Merge pull request #15178 from JuliaLang/yyc/export-statstruct
yuyichao Feb 22, 2016
1b7d009
Merge pull request #15177 from JuliaLang/yyc/fast-doc
yuyichao Feb 22, 2016
c284efe
julia-mode: Fix indent for hanging ops and module
justbur Feb 19, 2016
0d4de5a
julia-mode: Improve paren indent perf
justbur Feb 21, 2016
20b33da
Merge pull request #15156 from justbur/julia-mode-indent
yuyichao Feb 22, 2016
63087c5
julia-mode: Indent manually inside strings with \n
justbur Feb 22, 2016
34e9516
More hygienic JL_GC_PUSHARGS.
yuyichao Feb 22, 2016
7d0c557
Merge pull request #15183 from justbur/julia-mode-indent-strings
yuyichao Feb 23, 2016
b92f105
Merge pull request #12497 from JuliaLang/yyc/staged-gensym
yuyichao Feb 23, 2016
6f2ac3c
Merge pull request #15179 from pkofod/issparse
tkelman Feb 23, 2016
627567d
Merge pull request #15187 from JuliaLang/jb/fix15163
JeffBezanson Feb 23, 2016
116676f
Merge pull request #14947 from morris25/recursive_chmod
tkelman Feb 23, 2016
f663356
fix #15186, regression in `if` lowering
JeffBezanson Feb 22, 2016
4ce06c2
Add instructions for Raspberry Pi Zero
simonbyrne Feb 23, 2016
dc86200
Add \ldots symbol (supplement \dots)
simonbyrne Feb 10, 2016
8732f67
adding chown to base filesystem functions
Feb 9, 2016
8679538
Merge pull request #15188 from JuliaLang/jb/fix15186
carnaval Feb 23, 2016
a7c2395
Fix parameter initialization for array type in PivotedCholesky
andreasnoack Feb 23, 2016
5460f8d
Contrib: updated BBEdit editor language syntax plist file for Julia 0.4
cormullion Feb 23, 2016
1d59765
Fix skipping of personality data in CIE parser.
yuyichao Feb 23, 2016
451f3e1
Merge pull request #15014 from JuliaLang/sb/ldots
jiahao Feb 23, 2016
c8da4fb
julia-mode: Indentation performance improvements
justbur Feb 23, 2016
199034c
Merge pull request #15007 from morris25/add_chown
tkelman Feb 23, 2016
e696f0a
Use Matrix for similar(SpecialMatrix, shape) instead of throwing and
andreasnoack Feb 23, 2016
3959e37
Exports, bug fixes, and tests for LQ
kshyatt Feb 23, 2016
2ba8cfa
Update arrayalloc benchmarks to be asymptotically independent of
andreasnoack Feb 23, 2016
0712549
Error throwing tests for triangular ldivs
kshyatt Feb 23, 2016
93739d7
Missing parent/getindex tests for diagonal
kshyatt Feb 23, 2016
bdd05c4
Missing parent/getindex tests for symmetric
kshyatt Feb 23, 2016
ec812ac
Merge pull request #15202 from JuliaLang/yyc/cie-personality
yuyichao Feb 23, 2016
3dd6d69
SubArray: Fix scalar indexing with non-Int values
mbauman Feb 23, 2016
e42b26e
Fix captured static param lowering
carnaval Feb 23, 2016
f5338c8
Increase coverage by testing show, read, ^, and round (withmodes).
pkofod Feb 24, 2016
65a2473
Merge pull request #14936 from JuliaLang/sb/givens
andreasnoack Feb 24, 2016
4fd6489
Merge pull request #15216 from pkofod/pkm/morerationals
StefanKarpinski Feb 24, 2016
86f42bc
Merge pull request #15204 from JuliaLang/ksh/fixlq
andreasnoack Feb 24, 2016
4d8f5bf
Merge pull request #15198 from JuliaLang/anj/similar
andreasnoack Feb 24, 2016
b252d61
Merge pull request #15200 from JuliaLang/anj/cholp
andreasnoack Feb 24, 2016
2f5975c
Merge pull request #15199 from mbauman/mb/scalarsubindexing
andreasnoack Feb 24, 2016
9bb5881
remove redundant AST copying code
JeffBezanson Feb 24, 2016
bc7728f
Merge pull request #15203 from JuliaLang/anj/arrayalloc
andreasnoack Feb 24, 2016
bd7adbf
Merge branch 'master' of github.com:JuliaLang/julia
JeffBezanson Feb 24, 2016
101b65d
Merge pull request #14690 from sarvjeetsinghghotra/lu-logdet
andreasnoack Feb 24, 2016
f893c06
Replace the LGPL-licensed SparseMatrixCSC fkeep! method and children …
Sacha0 Jan 17, 2016
d3508d2
Merge pull request #15201 from cormullion/bbedit-textwrangler-julia
tkelman Feb 25, 2016
eb9b743
Fix make docs in cygwin cross compile
tkelman Feb 25, 2016
2c569e9
Remove no longer accurate documentation about Base.call
tkelman Feb 25, 2016
17af4e5
Remove import of Base.call in docsystem
tkelman Feb 25, 2016
2abddf7
Fix sphinx errors
tkelman Feb 25, 2016
5338635
Remove `at-init` from docsystem.
MichaelHatherly Feb 25, 2016
24913db
Removed mention of current working directory.
goelakash Feb 25, 2016
7f845ff
Merge pull request #15208 from JuliaLang/ob/captsp
JeffBezanson Feb 25, 2016
a347677
fix #15240, support NULL pointer argument to `jl_realloc`
JeffBezanson Feb 25, 2016
61ff48b
skip expression heads in resolve-scopes
JeffBezanson Feb 26, 2016
65a30ba
Replace the LGPL-licensed sparse() parent method with an MIT-licensed…
Sacha0 Jan 26, 2016
31e041e
Merge pull request #14702 from Sacha0/fkeepvrienden
tkelman Feb 26, 2016
526a057
Merge pull request #15231 from JuliaLang/tk/calldoc
tkelman Feb 26, 2016
4563526
Remove throwing squeeze(::SparseMatrixCSC, ::Dims).
martinholters Feb 26, 2016
23a906d
Do not fail with KeyError in file test if USER is not set
tkelman Feb 26, 2016
7c54abd
Add test for squeeze on sparse matrices.
martinholters Feb 26, 2016
b684db0
attempt to fix 32 bit linux travis
tkelman Feb 26, 2016
cbd47f2
Add a test that should have been part of #5492
tkelman Feb 26, 2016
8b49805
Merge pull request #15249 from JuliaLang/tk/travisi386fix
tkelman Feb 26, 2016
026fa10
Merge pull request #15242 from Sacha0/mitsparse
tkelman Feb 26, 2016
009cede
Merge pull request #15251 from martinholters/sparsesqueeze
tkelman Feb 26, 2016
5e44ea2
Merge pull request #15119 from JuliaLang/sb/bessel
simonbyrne Feb 26, 2016
3585235
small fixes to closure conversion of inner functions with static para…
JeffBezanson Feb 26, 2016
7a3cc31
Changed issym to issymmetric. Updated docs, NEWS.md, and deprecated i…
pkofod Feb 22, 2016
636916e
Merge pull request #15237 from MichaelHatherly/mh/docs-refactor
tkelman Feb 26, 2016
6d458e3
Fixed rounding such that it doesn't overflow in edge cases. Also adde…
pkofod Feb 24, 2016
b7078d4
x.num -> num(x) and x.den -> den(x)
pkofod Feb 24, 2016
420fdc3
Expand ternary to if-statement.
pkofod Feb 25, 2016
a88dbae
Fix rounding for Rational with return type Bool or Integer. Added mor…
pkofod Feb 25, 2016
99ce885
Make sure ptrarray is valid after grow_beg
yuyichao Feb 24, 2016
a2d07f9
Bump PCRE to 10.21
tkelman Feb 27, 2016
39c5c59
Bugfix and missing tests for eigen
kshyatt Feb 23, 2016
d70f318
Clean up some tests that are a bit noisier than they should be
tkelman Feb 27, 2016
5e20b6c
Check for overflow in gcd and lcm algorithms
eschnett Feb 27, 2016
1fcbc98
Merge pull request #15228 from eschnett/eschnett/gcd
eschnett Feb 27, 2016
eb17207
Merge pull request #15207 from JuliaLang/ksh/tridimtest
kshyatt Feb 27, 2016
6ed3c33
Added tests for rook methods
kshyatt Feb 27, 2016
d3a5846
Merge pull request #15222 from JuliaLang/yyc/array-grow-beg-undef
yuyichao Feb 28, 2016
c5d4d86
Merge pull request #15269 from JuliaLang/ksh/lapacktest
andreasnoack Feb 28, 2016
f40d0db
Merge pull request #15260 from JuliaLang/tk/pcre1021
tkelman Feb 28, 2016
ba996be
remove some logic in the dispatch system that seems unnecessary
JeffBezanson Feb 28, 2016
7199602
Merge pull request #15263 from JuliaLang/tk/cleantests
tkelman Feb 28, 2016
d8d1489
Merge pull request #15192 from pkofod/pkm/issymmetric
andreasnoack Feb 28, 2016
dfbbedd
Deprecate scale. Fixes #12945.
andreasnoack Feb 26, 2016
d6bc9c9
Better debugging info in case of subarray test failure
timholy Feb 28, 2016
bdbd699
Fix gc OBJPROFILE
yuyichao Feb 28, 2016
1eacbbb
Merge pull request #15275 from JuliaLang/yyc/gc/objprofile
yuyichao Feb 28, 2016
ad0f8dc
prevent use after free of `inst`
vtjnash Feb 25, 2016
955af6b
add error handling to aupd_wrapper
vtjnash Feb 25, 2016
e1c05c5
fix codegen jlgensym type error after inlining getfield loses type in…
vtjnash Feb 24, 2016
b19f380
fix critical bug in inlining pure functions
vtjnash Feb 25, 2016
b4fff7f
allow pure inference to accept _apply(f, args) form
vtjnash Feb 27, 2016
06ccf7f
Merge pull request #15196 from justbur/julia-mode-improve-indent-perf
yuyichao Feb 28, 2016
891c085
Missing sparse tests
kshyatt Feb 29, 2016
c1e565c
Do not copy gcc dlls from dist-extras in windows binary-dist
tkelman Feb 29, 2016
2ac9bc9
Merge pull request #15285 from JuliaLang/tk/appveyor
tkelman Feb 29, 2016
34d1d30
Check stride on preallocated output for matmul (fixes #15286)
timholy Feb 29, 2016
38f988d
besselj Float32 calling incorrect function
simonbyrne Feb 28, 2016
993bdab
Merge pull request #15227 from pkofod/edgerationals
tkelman Feb 29, 2016
6b4a9de
Added correct hyperlink for gfortran
Feb 29, 2016
d7b04be
Fix missing import for no_op_err in Checked
nalimilan Feb 29, 2016
542137a
Merge pull request #15270 from JuliaLang/jb/rm_strange_dispatch_code
JeffBezanson Feb 29, 2016
9cda4ab
Merge pull request #15261 from JuliaLang/jn/grabbag
JeffBezanson Feb 29, 2016
1050f97
Merge pull request #15284 from JuliaLang/ksh/sparsetest
kshyatt Feb 29, 2016
58bdac3
Implement checked operations on Bool
nalimilan Feb 29, 2016
c5be4fc
Merge pull request #15294 from JuliaLang/nl/checked
tkelman Mar 1, 2016
9971fd2
Merge pull request #15272 from JuliaLang/sb/besselfix
tkelman Mar 1, 2016
e01b357
Merge pull request #15292 from Dawny33/patch-3
tkelman Mar 1, 2016
2639bac
Merge pull request #15258 from JuliaLang/anj/scale
andreasnoack Mar 1, 2016
a7490f5
Ellide immutable allocation in some simple cases
carnaval Feb 26, 2016
54c3ffe
put only values, instead of both names and values, in static paramete…
JeffBezanson Feb 29, 2016
6b6d3e6
Refactor docsystem internals
MichaelHatherly Feb 27, 2016
55ab8c5
Rewrite genstdlib.jl
MichaelHatherly Feb 27, 2016
1d851b2
Add metadata to markdown returned by `at-doc`.
MichaelHatherly Feb 29, 2016
624c2fa
some fixes to very-linear mode, and a small amount of cleanup
JeffBezanson Feb 16, 2016
2fba526
limit exponent on number of calls made by `_methods` for unions
JeffBezanson Feb 23, 2016
facce89
Merge pull request #15239 from goelakash/issue-13579
tkelman Mar 1, 2016
38d7de8
Fix type instability in nextprod
timholy Mar 1, 2016
786e5b4
Fix check of inner dimension in matmul for 2x2 and 3x3 outer dimension
andreasnoack Mar 1, 2016
c3b372a
Merge pull request #15288 from JuliaLang/teh/matmul_subarray
andreasnoack Mar 1, 2016
eb59d63
Merge pull request #15259 from JuliaLang/ob/immalloc
carnaval Mar 1, 2016
dceac08
Merge pull request #15295 from JuliaLang/jb/spenv
JeffBezanson Mar 1, 2016
afa0e53
Set `isapprox` default relative error to be the larger of the default…
simonbyrne Feb 29, 2016
42608a8
Merge pull request #15289 from JuliaLang/teh/nextprod
timholy Mar 1, 2016
0b6cab6
Merge pull request #15247 from JuliaLang/jb/temp
JeffBezanson Mar 1, 2016
c679bfb
Couple ispointer fixes.
carnaval Mar 1, 2016
c6c6842
Merge pull request #15290 from JuliaLang/sb/isapprox
andreasnoack Mar 2, 2016
fd6eade
Merge pull request #15306 from JuliaLang/anj/matmulfix
andreasnoack Mar 2, 2016
cea29d4
Merge pull request #15312 from JuliaLang/ob/ptrgetf
carnaval Mar 2, 2016
6f98b71
Merge pull request #15266 from MichaelHatherly/mh/more-docs-refactoring
MichaelHatherly Mar 2, 2016
d189cb3
GC support for stack allocated objects
carnaval Jul 18, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion base/reflection.jl
Original file line number Diff line number Diff line change
@@ -188,11 +188,15 @@ function _methods(f::ANY,t::ANY,lim)
end
function _methods_by_ftype(t::ANY, lim)
tp = t.parameters
nu = 1
for ti in tp
if isa(ti, Union)
return _methods(Any[tp...], length(tp), lim, [])
nu *= length(ti.types)
end
end
if 1 < nu <= 64
return _methods(Any[tp...], length(tp), lim, [])
end
return ccall(:jl_matching_methods, Any, (Any,Int32), t, lim)
end
function _methods(t::Array,i,lim::Integer,matching::Array{Any,1})
23 changes: 9 additions & 14 deletions src/ast.c
Original file line number Diff line number Diff line change
@@ -835,31 +835,27 @@ static int jl_parse_deperror(fl_context_t *fl_ctx, int err)
}

// returns either an expression or a thunk
JL_DLLEXPORT jl_value_t *jl_expand(jl_value_t *expr)
jl_value_t *jl_call_scm_on_ast(char *funcname, jl_value_t *expr)
{
jl_ast_context_t *ctx = jl_ast_ctx_enter();
fl_context_t *fl_ctx = &ctx->fl;
JL_AST_PRESERVE_PUSH(ctx, roots, old_roots);
value_t arg = julia_to_scm(fl_ctx, expr);
value_t e = fl_applyn(fl_ctx, 1, symbol_value(symbol(fl_ctx, "jl-expand-to-thunk")), arg);
value_t e = fl_applyn(fl_ctx, 1, symbol_value(symbol(fl_ctx, funcname)), arg);
jl_value_t *result = scm_to_julia(fl_ctx, e, 0);
JL_AST_PRESERVE_POP(ctx, old_roots);
jl_ast_ctx_leave(ctx);
return result;
}

JL_DLLEXPORT jl_value_t *jl_expand(jl_value_t *expr)
{
return jl_call_scm_on_ast("jl-expand-to-thunk", expr);
}

JL_DLLEXPORT jl_value_t *jl_macroexpand(jl_value_t *expr)
{
jl_ast_context_t *ctx = jl_ast_ctx_enter();
fl_context_t *fl_ctx = &ctx->fl;
JL_AST_PRESERVE_PUSH(ctx, roots, old_roots);
value_t arg = julia_to_scm(fl_ctx, expr);
value_t e = fl_applyn(fl_ctx, 1, symbol_value(symbol(fl_ctx, "jl-macroexpand")), arg);
jl_value_t *result;
result = scm_to_julia(fl_ctx, e, 0);
JL_AST_PRESERVE_POP(ctx, old_roots);
jl_ast_ctx_leave(ctx);
return result;
return jl_call_scm_on_ast("jl-macroexpand", expr);
}

ssize_t jl_max_jlgensym_in(jl_value_t *v)
@@ -1140,8 +1136,7 @@ jl_value_t *jl_preresolve_globals(jl_value_t *expr, jl_lambda_info_t *lam)
jl_value_t *me = jl_exprarg(e,1);
if (jl_is_topnode(me) ||
(jl_is_symbol(me) && jl_binding_resolved_p(lam->module,(jl_sym_t*)me))) {
jl_value_t *m = jl_static_eval(me, NULL, lam->module,
lam, 0, 0);
jl_value_t *m = jl_static_eval(me, NULL, lam->module, lam, 0, 0);
if (m && jl_is_module(m))
return jl_module_globalref((jl_module_t*)m, (jl_sym_t*)s);
}
2 changes: 2 additions & 0 deletions src/gf.c
Original file line number Diff line number Diff line change
@@ -2193,6 +2193,8 @@ static jl_value_t *ml_matches(jl_methlist_t *ml, jl_value_t *type,
JL_DLLEXPORT jl_value_t *jl_matching_methods(jl_value_t *types, int lim)
{
assert(jl_nparams(types) > 0);
if (jl_tparam0(types) == jl_bottom_type)
return (jl_value_t*)jl_alloc_cell_1d(0);
assert(jl_is_datatype(jl_tparam0(types)));
jl_methtable_t *mt = ((jl_datatype_t*)jl_tparam0(types))->name->mt;
if (mt == NULL)
21 changes: 17 additions & 4 deletions src/julia-syntax.scm
Original file line number Diff line number Diff line change
@@ -2915,14 +2915,27 @@ f(x) = yt(x)
(let* ((arg (car lst))
(aval (compile arg break-labels #t #f)))
(loop (cdr lst)
(cons (if (and temps? (pair? (cdr lst))
(cons (if (and temps?
(not (simple-atom? arg)) (not (jlgensym? arg))
(not (simple-atom? aval)) (not (jlgensym? aval)))
(not (simple-atom? aval)) (not (jlgensym? aval))
(not (and (pair? arg)
(memq (car arg) '(& quote inert top copyast))))
(not (and (symbol? arg)
(or (null? (cdr lst))
(null? vals)))))
(let ((tmp (make-jlgensym)))
(emit `(= ,tmp ,aval))
tmp)
aval)
vals))))))))
(define (compile-cond ex break-labels)
(let ((cnd (compile ex break-labels #t #f)))
(if (and *very-linear-mode*
(not (or (simple-atom? cnd) (jlgensym? cnd) (symbol? cnd))))
(let ((tmp (make-jlgensym)))
(emit `(= ,tmp ,cnd))
tmp)
cnd)))
;; the interpreter loop. `break-labels` keeps track of the labels to jump to
;; for all currently closing break-blocks.
;; `value` means we are in a context where a value is required; a meaningful
@@ -2970,7 +2983,7 @@ f(x) = yt(x)
(compile (cadr e) break-labels #t #t)
'(null))
((if)
(let ((test `(gotoifnot ,(compile (cadr e) break-labels #t #f) _))
(let ((test `(gotoifnot ,(compile-cond (cadr e) break-labels) _))
(end-jump `(goto _))
(val (if (and value (not tail)) (new-mutable-var) #f)))
(emit test)
@@ -2991,7 +3004,7 @@ f(x) = yt(x)
((_while)
(let* ((endl (make-label))
(topl (make&mark-label))
(test (compile (cadr e) break-labels #t #f)))
(test (compile-cond (cadr e) break-labels)))
(emit `(gotoifnot ,test ,endl))
(compile (caddr e) break-labels #f #f)
(emit `(goto ,topl))
10 changes: 5 additions & 5 deletions src/toplevel.c
Original file line number Diff line number Diff line change
@@ -710,7 +710,7 @@ jl_value_t *jl_first_argument_datatype(jl_value_t *argtypes)
return (jl_value_t*)first_arg_datatype(argtypes, 0);
}

static jl_lambda_info_t *expr_to_lambda(jl_lambda_info_t *f)
static jl_lambda_info_t *expr_to_lambda(jl_expr_t *f)
{
// this occurs when there is a closure being added to an out-of-scope function
// the user should only do this at the toplevel
@@ -729,10 +729,10 @@ static jl_lambda_info_t *expr_to_lambda(jl_lambda_info_t *f)
jl_svecset(tvar_syms, i, jl_arrayref(tvar_syms_arr, i));
}
// wrap in a LambdaInfo
f = jl_new_lambda_info((jl_value_t*)f, tvar_syms, jl_emptysvec, jl_current_module);
jl_preresolve_globals(f->ast, f);
jl_lambda_info_t *li = jl_new_lambda_info((jl_value_t*)f, tvar_syms, jl_emptysvec, jl_current_module);
jl_preresolve_globals(li->ast, li);
JL_GC_POP();
return f;
return li;
}

JL_DLLEXPORT void jl_method_def(jl_svec_t *argdata, jl_lambda_info_t *f, jl_value_t *isstaged)
@@ -745,7 +745,7 @@ JL_DLLEXPORT void jl_method_def(jl_svec_t *argdata, jl_lambda_info_t *f, jl_valu
JL_GC_PUSH1(&f);

if (!jl_is_lambda_info(f))
f = expr_to_lambda(f);
f = expr_to_lambda((jl_expr_t*)f);

assert(jl_is_lambda_info(f));
assert(jl_is_tuple_type(argtypes));