Skip to content

WIP: rebase llvm to new version which supports symbols as patchpoint call destinations #911

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

Open
wants to merge 3,170 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3170 commits
Select commit Hold shift + click to select a range
a71a661
Merge pull request #818 from undingen/perf4
kmod Aug 10, 2015
51b19ce
Merge pull request #819 from kmod/perf3
kmod Aug 10, 2015
76ec496
rewrite float comparison base on CPython implementation
Daetalus Aug 11, 2015
ae12787
Merge pull request #821 from Daetalus/float_comparision
kmod Aug 11, 2015
6c4a0a1
Add missing #define for NumPy's npy_common.h
rudi-c Jul 21, 2015
b42cb29
Increase maximum size of BSS section.
rudi-c Jul 28, 2015
c0bbdfb
Inherit special protocol tp_* slots.
rudi-c Jul 23, 2015
b1b8d67
Simple implementation of abs(complex) PyComplex_AsCComplex.
rudi-c Jul 29, 2015
da72a44
Stub implementation for Ellipsis.
rudi-c Aug 7, 2015
477c209
Add function to register nonheap root objects.
rudi-c Aug 7, 2015
30c004f
Extension modules might want to have their own tp_free.
rudi-c Aug 7, 2015
d837de3
Update testsuite submodule to include NumPy test.
rudi-c Aug 7, 2015
5de3104
Make GC handling of HiddenClass more general, support other runtime o…
rudi-c Aug 11, 2015
4c99ad4
Move GC-related declarations to gc folder and add comments.
rudi-c Aug 11, 2015
a0ce81f
Get Pyston building on Fedora
kmod Aug 11, 2015
45b15b3
Merge pull request #820 from rudi-c/gc_types
kmod Aug 11, 2015
14a7c58
Fix inheriting extension classes from builtins
kmod Aug 11, 2015
c30e503
Misc fixes / helpers
kmod Aug 11, 2015
7c6b521
Dict change: scan manually instead of conservatively
kmod Aug 10, 2015
779cb5b
Switch BoxedDict to llvm::DenseMap
kmod Aug 10, 2015
893dbbb
Have the rewriter check for CAPI excs directly
kmod Aug 10, 2015
8813c42
Support checking for return codes other than NULL
kmod Aug 11, 2015
cd5a4d0
Merge pull request #823 from kmod/fedora_fixes
kmod Aug 12, 2015
76c4219
Merge pull request #822 from kmod/perf4
kmod Aug 12, 2015
be7aae7
Microoptimizations
kmod Aug 12, 2015
61a68d3
Have rearrangeArguments return in place
kmod Aug 12, 2015
ee5b6d4
Optimize some type-checking
kmod Aug 12, 2015
109df64
Merge pull request #783 from rudi-c/numpy_fix
kmod Aug 12, 2015
47d0270
Merge pull request #824 from kmod/perf4
kmod Aug 12, 2015
f0efd51
Remove the broken LLVM rules in the Makefile
kmod Aug 12, 2015
74f5384
Create a simple clange-based linter
kmod Aug 12, 2015
4edd24e
Change isSubclass to PyFoo_Check
kmod Aug 12, 2015
7e14a2c
Introduction of slice ast type & updated libpypa
vinzenz Aug 11, 2015
25a514f
Enable libpypa support for break/continue misuse detection
vinzenz Aug 12, 2015
b6e726c
Merge pull request #825 from kmod/perf3
kmod Aug 12, 2015
b50324d
Have pypa parse strings directly
kmod Aug 12, 2015
74a42c5
Save the key hash in dictionaries
kmod Aug 12, 2015
b5a9816
Merge pull request #826 from vinzenz/slice-integration
kmod Aug 13, 2015
1051326
Merge pull request #827 from vinzenz/non-loop-kw-detection
kmod Aug 13, 2015
3796b9f
Merge pull request #829 from kmod/perf4
kmod Aug 13, 2015
93243be
Merge pull request #828 from kmod/parsing
kmod Aug 13, 2015
582aca5
support yield statements inside lambdas
undingen Aug 13, 2015
7ebe972
fix copy and paste error introduced in #825
undingen Aug 13, 2015
a013784
Remove __attribute__((__malloc__)) from the gc
kmod Aug 14, 2015
8e45b42
Merge pull request #833 from undingen/generators2
kmod Aug 14, 2015
23e7e56
Merge pull request #835 from kmod/no_attr_malloc
kmod Aug 14, 2015
a5474b1
enable test_float, hard code the sys.float_info for now
Daetalus Aug 13, 2015
84370f2
add PyNumber_Negtive support
Daetalus Aug 13, 2015
ce86094
Allow string + bytearray => bytearray. Fixes #780
vinzenz Aug 13, 2015
a8e6299
Add unit test for bytearray + string concat
vinzenz Aug 13, 2015
22962bc
django_template investigation helper
kmod Aug 13, 2015
2cf0cd1
Improve capi exception creation speed
kmod Aug 13, 2015
ec5266a
Intern string literals
kmod Aug 13, 2015
91ecafb
Rewrite into getattr() the function
kmod Aug 13, 2015
86e550e
Add another assert to debug the threading failures
kmod Aug 14, 2015
c1de0f1
enable PyFloat_FromString, and improve floatNew, repr, str method
Daetalus Aug 14, 2015
60850a5
Merge pull request #834 from kmod/perf3
kmod Aug 14, 2015
18d11b0
add note about enable the teste which disabled in CPython
Daetalus Aug 14, 2015
27df1a7
Merge pull request #832 from vinzenz/bytearray-string-concat
kmod Aug 14, 2015
e2c333d
Use a parallel build for libunwind
kmod Aug 14, 2015
d593214
Allow more type_call rewrites
kmod Aug 14, 2015
dba4dc7
Copy in CPython's PyString_Repr
kmod Aug 14, 2015
15cf8d0
Merge pull request #838 from kmod/perf4
kmod Aug 15, 2015
31f7289
Merge pull request #830 from Daetalus/test_float
kmod Aug 15, 2015
760925b
Microoptimize rewriter
undingen Aug 15, 2015
dd2f0cd
Merge pull request #839 from undingen/rewriter_opt
kmod Aug 15, 2015
79e4f2c
Switch our Python set implementation to use a llvm::DenseSet
undingen Aug 15, 2015
df3e7ee
Merge pull request #840 from undingen/denseset
undingen Aug 16, 2015
23ed1a3
some Pyston change to structseq
Daetalus Aug 15, 2015
b2e8eff
use float_info instead hard code
Daetalus Aug 17, 2015
b2a7c30
add float_info to sys module, and rewrite version_info use SequenceSt…
Daetalus Aug 17, 2015
41d97c3
Add more __repr__ attributes to our builtins
undingen Aug 17, 2015
72cd01e
Merge pull request #845 from undingen/func_name
kmod Aug 17, 2015
bd252e3
Copy tp_as_number *after* commonClassSetup
kmod Aug 17, 2015
4d3abb8
Merge pull request #843 from Daetalus/sys_info
kmod Aug 17, 2015
37ac4ad
Pass NULL instead of None for descriptors
kmod Aug 17, 2015
e497a26
Fix None.__format__
kmod Aug 17, 2015
1b9d802
Merge pull request #846 from kmod/tp_as_number_fix
kmod Aug 17, 2015
7cdebff
enable test_int
Daetalus Aug 14, 2015
8b8f19d
add builtin function bin
Daetalus Aug 14, 2015
759f648
add instanceTrunc to old style class, but not expose the API, just le…
Daetalus Aug 14, 2015
02d0716
improve PyLong_FromString and add bit_length for long
Daetalus Aug 14, 2015
49f841c
improve the _intNew funciton, to handle more edge cases, improve the …
Daetalus Aug 17, 2015
3142a1f
Get rid of the testsuite repo
kmod Aug 17, 2015
4051a3d
Don't run integration tests if they are not checked out
kmod Aug 18, 2015
005e847
enable test_math and update CPYTHON_TEST_NOTES
Daetalus Aug 18, 2015
c566963
let ~bin could take long as argument
Daetalus Aug 18, 2015
d71c1ca
bjit: don't generate a 'getGlobal' call for 'None'
undingen Aug 18, 2015
7df079c
Pass frame-state through to make reraising faster
kmod Aug 15, 2015
220f702
Use PySequence_Fast for faster *arg unpacking
kmod Aug 15, 2015
57077ee
Cut out some exceptions-creation overhead
kmod Aug 15, 2015
21257c9
Remove a couple more uses of std::vector
kmod Aug 18, 2015
8c66748
Box traceback strings once
kmod Aug 18, 2015
50c8bf9
Re-disable integration tests for quick_check
kmod Aug 18, 2015
99f364e
Merge pull request #837 from Daetalus/test_int
kmod Aug 18, 2015
97c4726
Merge pull request #849 from undingen/bjit_none
kmod Aug 18, 2015
82e9cdc
Merge pull request #847 from kmod/format_fix
kmod Aug 18, 2015
6fa6767
Merge pull request #851 from kmod/perf4
kmod Aug 18, 2015
3e360e5
Merge pull request #709 from toshok/mercurial-fixes
kmod Aug 19, 2015
63fe038
use adjustment-post division just like CPython to handle int division
Daetalus Aug 19, 2015
58c2726
add some int divsion edge cases
Daetalus Aug 19, 2015
93ff229
Update README with links to new wiki pages
kmod Aug 20, 2015
527b169
Change exceptions to hcattrs
kmod Aug 15, 2015
4008df8
Improve exception-matching speed
kmod Aug 18, 2015
3a8884e
Call tp_init in typeCall for extension classes
kmod Aug 18, 2015
dbada80
Add some more asserts for threading_local.py
kmod Aug 21, 2015
bd2ee53
Merge pull request #852 from kmod/perf4
kmod Aug 21, 2015
978974b
Fix: free dict+set internal memory
kmod Aug 21, 2015
d7934a4
Make a couple things not gc-allocated
kmod Aug 21, 2015
2153e8e
Reduce allocations in a few places
kmod Aug 21, 2015
2e409bd
Add unaryop to our codegen type system
kmod Aug 21, 2015
d50f760
Convert parts of the import system to use BoxedStrings
kmod Aug 21, 2015
2b9fd97
Don't allocate an extra tuple element
kmod Aug 21, 2015
0e5f167
Merge pull request #853 from Daetalus/test_int
kmod Aug 21, 2015
432fcb5
Merge pull request #855 from kmod/perf5
kmod Aug 21, 2015
10dac49
Merge pull request #848 from kmod/undo-testsuite
kmod Aug 22, 2015
6b12ddf
Fix submodules
kmod Aug 22, 2015
08fe381
Merge pull request #858 from kmod/submodules
kmod Aug 22, 2015
7335a85
Add a simple region-allocator for the Rewriter
kmod Aug 21, 2015
896bc69
Reduce allocations in stackmap parsing
kmod Aug 21, 2015
9407f64
Store live_outs as a bitset
kmod Aug 22, 2015
841234f
Remove mallocs for our lambda passing
kmod Aug 21, 2015
ceed353
Add even more threading asserts
kmod Aug 22, 2015
d3fb236
Merge pull request #856 from kmod/perf4
kmod Aug 22, 2015
0fc53b7
Merge pull request #857 from kmod/perf5
kmod Aug 22, 2015
030e879
Fix and reenable type speculations
undingen Aug 20, 2015
401ff2f
Only trigger isDeopt once
kmod Aug 21, 2015
646f321
dtoa: disable custom memory managment
undingen Aug 24, 2015
88fd610
return correct type for unary float ops
undingen Aug 24, 2015
60131ac
Fix compvars error with varargs functions
undingen Aug 24, 2015
5de266c
Merge pull request #854 from undingen/spec
kmod Aug 24, 2015
440d892
Class gc fix: integrate with the finalization logic
kmod Aug 24, 2015
440a3d6
Merge commit 'pr/861' into class_gc
kmod Aug 25, 2015
87fe352
Merge pull request #862 from kmod/class_gc
kmod Aug 25, 2015
7c1d21f
Allow rewriting getattr() with unicode arguments
kmod Aug 18, 2015
694ee17
Templatize slotTpGetattrHookInternal
kmod Aug 19, 2015
f46be79
testsuite-move fix
kmod Aug 22, 2015
9a717b0
Allow rewriting some cases even if they always throw
kmod Aug 22, 2015
be24af7
Merge pull request #864 from kmod/perf3
kmod Aug 25, 2015
c9a9d10
Get FORCE_CAPI_THROWS working again
kmod Aug 25, 2015
a4e3cc0
Fix 'error return without exception set'
kmod Aug 25, 2015
02f3513
Merge pull request #867 from kmod/exceptions
kmod Aug 25, 2015
5b98eb1
sre: use malloc internally instead of our GC memory alloc routines
undingen Aug 25, 2015
368c76f
use a CAPI IC for calling "next" in order to reduce c++ exceptions
undingen Aug 25, 2015
3132de8
Merge pull request #866 from undingen/perf_pyxl
kmod Aug 25, 2015
1573116
Some reorganization of CLFunction/BoxedCode code.
rudi-c Aug 7, 2015
1509826
Merge pull request #868 from rudi-c/boxedcode
kmod Aug 26, 2015
051a488
Emit trampoline jumps to the slowpath func
undingen Aug 27, 2015
4f745ca
Use xor instead of a mov to clear a register
undingen Aug 27, 2015
f94a7ee
micropoptimize list add
undingen Aug 24, 2015
a885b47
Change two frequent GC alloc call sites to use malloc in order to inc…
undingen Aug 26, 2015
fe26d83
Some random runtime function optimizations
kmod Aug 27, 2015
5c70bb3
Merge pull request #870 from undingen/trampoline
kmod Aug 27, 2015
d5a166c
rewrite builtin hasattr
undingen Aug 26, 2015
c070938
Rewrite some more typeCall cases
kmod Aug 28, 2015
d6edebb
Micro-optimize calculateNumVRegs
kmod Aug 28, 2015
20ae1f2
Parse exec's more like normal code
kmod Aug 28, 2015
a75d888
3-arg execfile
kmod Aug 28, 2015
2b45543
Merge pull request #871 from undingen/perf_pyxl3_clean
kmod Aug 29, 2015
98a74b8
Merge pull request #873 from kmod/perf3
kmod Aug 29, 2015
5c70d50
Merge pull request #876 from kmod/perf6
kmod Aug 29, 2015
d908413
Merge pull request #877 from kmod/execfile
kmod Aug 29, 2015
6160ed8
Add a getattr rewrite "return convention"
kmod Aug 26, 2015
ea8cb1f
Rewriter "aggressiveness" and backoff
kmod Aug 26, 2015
443a472
Back off of rewriting runtimecall in callattr
kmod Aug 27, 2015
0fdabf3
Support passing up to 6 elements in varargs
kmod Aug 26, 2015
9bf7181
Rewrite the creation of generators
kmod Aug 26, 2015
c105fc2
Update section ordering
kmod Aug 27, 2015
3453262
Merge pull request #872 from kmod/perf2
kmod Aug 29, 2015
2c1da40
implement PyNumber_Float
Daetalus Aug 26, 2015
b1f41bc
let complex real part in the left, imag in the right
Daetalus Aug 26, 2015
ad3c4db
enable test_complex and apply some pyston changes
Daetalus Aug 29, 2015
3159688
complex improvements
Daetalus Aug 29, 2015
7d5ea0c
Move closer towards exposing the public gc interface only in one file.
rudi-c Aug 28, 2015
8a1b2e0
Merge pull request #875 from rudi-c/publicgc
kmod Sep 1, 2015
cb36720
Add capi wrapper calling convention which does not require to pass ar…
undingen Aug 31, 2015
aacf932
unicode_cls: set is_constant = true and is_user_defined = false
undingen Aug 28, 2015
0a8385c
Merge pull request #880 from undingen/wrapper
undingen Sep 1, 2015
0e98930
When calling a BoxedWrapperDescriptor don't create a BoxedWrapperObject
undingen Aug 31, 2015
65e3ce5
Optimize nonzero()
undingen Sep 1, 2015
ee5286c
Add a notion of redudant visits, useful for moving collectors.
rudi-c Aug 26, 2015
592f854
Redundantly visit some fields of hidden classes that weren't visited.
rudi-c Aug 26, 2015
c5d2083
Merge pull request #881 from undingen/wrapper2
kmod Sep 1, 2015
0abd691
Merge pull request #817 from Daetalus/complex_improment
kmod Sep 1, 2015
7c96b62
Merge pull request #874 from rudi-c/redundantvisit
kmod Sep 1, 2015
9b298b3
Support non-module-globals in the llvm tier
kmod Aug 30, 2015
db7da04
Rename 'old_parser' configuration to 'force_llvm'
kmod Sep 1, 2015
4b115c1
Copy in llvm's DenseMap.h and DenseSet.h
kmod Sep 1, 2015
22950ec
Match DenseMap/Set to our codebase
kmod Sep 1, 2015
ec6a4c7
Two more ubenches
kmod Sep 1, 2015
b7ad951
Parameterize DenseMap on the minimum size
kmod Sep 1, 2015
dcfba66
Lower initial dict/set size from 64->8
kmod Sep 1, 2015
7267c07
Support getting custom globals via introspection
kmod Sep 2, 2015
46101af
I have no idea how/where this could get out of sync
kmod Sep 2, 2015
5b0b1fe
Merge pull request #882 from kmod/perf3
kmod Sep 2, 2015
7eec7fa
Merge pull request #886 from kmod/perf2
kmod Sep 2, 2015
e6407ee
Generate better module names to make the object cache more effective
undingen Sep 2, 2015
38d3b28
add tp_nextiter implementation for our iterators
undingen Sep 2, 2015
5c60ed7
microoptimize getIsDefinedName + startswith
undingen Sep 2, 2015
5963912
Merge pull request #888 from undingen/wrapper4
kmod Sep 2, 2015
e44735c
Merge pull request #887 from undingen/objectcache_2runs
kmod Sep 2, 2015
5e89ecb
Add infrastructure to call GC handler on stack-bound objects.
rudi-c Sep 1, 2015
068b448
Add override keyword where necessary.
rudi-c Sep 3, 2015
2442b5f
Merge pull request #892 from rudi-c/fixoverride
kmod Sep 3, 2015
3f73110
enable test_index and update CPYTHON_TEST_NOTES
Daetalus Sep 3, 2015
84201c5
add __imul__ and let list could multiple with instance which has __in…
Daetalus Sep 3, 2015
8578047
let str coul multiple with long
Daetalus Sep 3, 2015
541b754
add _PyLong_Copy implementation, return a copy in PyNumber_Long if th…
Daetalus Sep 4, 2015
57c9d8e
Change str.add type-checking behavior
kmod Aug 27, 2015
35c8b3f
Set initialization in init instead of new
kmod Aug 28, 2015
6131d3c
Don't segfault on repr() of functions without names
kmod Sep 3, 2015
5ae9cb6
These sqlalchemy tests work now
kmod Aug 28, 2015
cf9a690
Merge pull request #894 from kmod/sqlalchemy
kmod Sep 4, 2015
0227fde
Merge pull request #893 from Daetalus/test_index
kmod Sep 4, 2015
4dad82a
Last few fixes to make sqlalchemy_declarative work
kmod Sep 4, 2015
53ed3b6
Conservatively scan the ICInvalidators stored in the rewriter.
rudi-c Sep 1, 2015
1c9ebd8
Merge pull request #884 from rudi-c/rewriterscan2
kmod Sep 4, 2015
dffaf33
Scan pointers used in inline caches and scan relocatable symbols.
rudi-c Sep 1, 2015
41b8dbc
Keep track of pointers in compiled functions and visit them.
rudi-c Sep 1, 2015
ea496d1
Scan GC references stored in rewriter during the rewrite.
rudi-c Sep 4, 2015
74fce7a
Merge pull request #885 from rudi-c/compileconstants
kmod Sep 4, 2015
8c6a969
Reduce the iteration count in some tests.
rudi-c Aug 5, 2015
86f365c
Replace 100 with 101 in the inner loop for debugging.
rudi-c Aug 26, 2015
ed11eba
Allow GCVisitor visit methods to be virtual if we toggle a flag.
rudi-c Sep 2, 2015
3451880
Pass address of pointer instead of pointer directly.
rudi-c Sep 2, 2015
e96bf9a
Basic infrastructure for implementing a prototype moving gc.
rudi-c Sep 2, 2015
9fade19
Move objects in the SmallArena and update references.
rudi-c Sep 2, 2015
8a510e3
ifdef out some moving GC code for now.
rudi-c Sep 4, 2015
db991b3
Merge pull request #895 from kmod/sqlalchemy
kmod Sep 4, 2015
7b84d99
Merge pull request #889 from rudi-c/movingmerge
kmod Sep 4, 2015
4975866
rewrite oldstyle class getattro
undingen Sep 4, 2015
9a3a43c
Merge pull request #899 from undingen/perf_oldstyle2
kmod Sep 7, 2015
414d207
Type system fix: need to add unpacking to the type system
kmod Sep 8, 2015
80f4bc3
Callattr fix
kmod Sep 8, 2015
1782dd5
Merge pull request #901 from kmod/speculation_fix
kmod Sep 8, 2015
b8e204b
enable test_operator
Daetalus Sep 8, 2015
1eb9a9a
get slice copy before calculate the posistion
Daetalus Sep 8, 2015
c66b6f1
Implement some PyNumber_XXX function, most of the code are copy from …
Daetalus Sep 8, 2015
5bacdd4
add PySequence_SetItem and GetItem
Daetalus Sep 8, 2015
fe6885a
PrintVisitor: use raw_ostream
undingen Sep 8, 2015
f96c49a
Merge pull request #904 from undingen/printvisitor
kmod Sep 8, 2015
2294c2a
Merge pull request #900 from Daetalus/test_operator
kmod Sep 8, 2015
cd43a0f
I think this test was in the wrong file
kmod Sep 8, 2015
df2808d
Allow changing the number of default arguments
kmod Sep 8, 2015
54a9559
Merge pull request #905 from kmod/change_numdefaults
kmod Sep 9, 2015
b91071c
Fix set comparisons
undingen Sep 9, 2015
9df41bb
Merge pull request #908 from undingen/fix_set_cmp
kmod Sep 9, 2015
5ce93e8
rebase llvm to r235483 Apr 22 2015
undingen Sep 10, 2015
8fde2cc
Remove workaround for symbolic patchpoint targets
undingen Sep 10, 2015
6ae7e32
run clang-format
undingen Sep 10, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
29 changes: 27 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
build

Makefile.local
tools/astprint
tools/demangle
tools/mcjitcache
tools/mcjitcache_release
tools/publicize
tools/publicize_release

pyston
pyston_opt
pyston_noasserts
Expand All @@ -15,9 +19,17 @@ pyston_debug
pyston_prof
pyston_profile
pyston_release
pyston_grwl
pyston_grwl_dbg
pyston_nosync
pyston_gcc
pyston_release_gcc
pyston_release_gcc_pgo
pyston_release_gcc_pgo_instrumented
pystontmp*/
/*_unittest

*.cache
tests/t.py
tests/t2.py
*.bc
stdlib.ll
*.o
Expand All @@ -28,6 +40,7 @@ stdlib*.ll
oprofile_data
pprof.jit
tags
TAGS
*.pyc

perf.data
Expand All @@ -38,4 +51,16 @@ gmon.out
find_problem.status
*.expected_cache

plugins/clang_capi

*.so
*.pch

compile.log

*.swp
*.swo

*.out

*~
36 changes: 36 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[submodule "test/lib/django"]
path = test/lib/django
url = https://github.com/django/django
[submodule "test/lib/virtualenv"]
path = test/lib/virtualenv
url = https://github.com/dropbox/virtualenv
[submodule "test/lib/pycrypto"]
path = test/lib/pycrypto
url = https://github.com/dlitz/pycrypto.git
[submodule "test/lib/gflags"]
path = test/lib/gflags
url = https://github.com/google/python-gflags
ignore = untracked
[submodule "test/lib/sqlalchemy"]
path = test/lib/sqlalchemy
url = https://github.com/zzzeek/sqlalchemy
[submodule "test/lib/pyxl"]
path = test/lib/pyxl
url = https://github.com/dropbox/pyxl.git
ignore = untracked
[submodule "build_deps/libunwind"]
path = build_deps/libunwind
url = git://git.sv.gnu.org/libunwind.git
ignore = all
[submodule "build_deps/libpypa"]
path = build_deps/libpypa
url = git://github.com/vinzenz/libpypa.git
[submodule "build_deps/lz4"]
path = build_deps/lz4
url = git://github.com/Cyan4973/lz4.git
[submodule "build_deps/jemalloc"]
path = build_deps/jemalloc
url = git://github.com/jemalloc/jemalloc.git
[submodule "test/lib/numpy"]
path = test/lib/numpy
url = https://github.com/numpy/numpy
85 changes: 85 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
language: cpp

compiler:
- clang
- gcc

env:
matrix:
- TRAVIS_BUILD_TYPE=Debug CCACHE_DIR=$HOME/.ccache_debug
- TRAVIS_BUILD_TYPE=Release CCACHE_DIR=$HOME/.ccache_release
global:
- PYSTON_RUN_ARGS=G

matrix:
exclude:
- compiler: gcc
env: TRAVIS_BUILD_TYPE=Debug CCACHE_DIR=$HOME/.ccache_debug

# use travis-ci docker based infrastructure
sudo: false

cache:
directories:
- $HOME/.ccache_debug
- $HOME/.ccache_release

addons:
apt:
sources:
- kubuntu-backports
- llvm-toolchain-precise-3.5
- ubuntu-toolchain-r-test
packages:
- autoconf
- ccache
- clang-3.5
- cmake
- g++-4.8
- gdb
- libbz2-dev
- libgmp3-dev
- liblzma-dev
- libncurses5-dev
- libreadline-dev
- libsqlite3-dev
- libtool
- ninja-build
- python-dev
- texlive-extra-utils
- libcurl4-openssl-dev

before_install:
- if [ "$CC" = "clang" ]; then export CC="clang-3.5" CXX="clang++-3.5"; fi
- if [ "$CC" = "gcc" ]; then export CC="gcc-4.8" CXX="g++-4.8"; fi
- $CXX --version

install:
- git clone git://github.com/llvm-mirror/llvm.git ~/pyston_deps/llvm-trunk
- git clone git://github.com/llvm-mirror/clang.git ~/pyston_deps/llvm-trunk/tools/clang
- git config --global user.email "you@example.com"
- git config --global user.name "Your Name"
- git submodule update --init --recursive
- mkdir ~/pyston-build && cd ~/pyston-build
- make -C $TRAVIS_BUILD_DIR llvm_up
- bash $TRAVIS_BUILD_DIR/tools/configure_travis.sh

before_script:
- mysql -e 'create database mysqldb_test charset utf8;'

script:
- ccache -z
- ninja -j4 pyston check-deps && PYSTON_RUN_ARGS=G ctest --output-on-failure
- ccache -s
- if [ -n "$(git status --porcelain --untracked=no)" ]; then echo "test suite left the source directory dirty"; git status; false; fi

os:
- linux
# - osx

notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/7256425a36658faa8b9b
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
8 changes: 8 additions & 0 deletions .vimrc.dir
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
set wildignore+=*.expected_cache,*.pyc,*.out,*.bc,*.d,*.o

let g:pyston_top = expand('<sfile>:p:h')
command! M execute ":make -C " . g:pyston_top . "/src -j1 COLOR=0 USE_DISTCC=0"
command! L execute ":cfile " . g:pyston_top . "/src/compile.log"

ca m M
ca l L
Loading