Skip to content

Switch to 2byte unicode implementation like cpython does on linux #979

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,342 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3342 commits
Select commit Hold shift + click to select a range
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
2f8ba01
__new__ is supposed to become a staticmethod
kmod Sep 10, 2015
70f7167
itertools.product() fix
kmod Sep 9, 2015
0f8114c
Fix strSlice assertion
kmod Sep 10, 2015
5576cae
Enable the mmap module
kmod Sep 10, 2015
05c7f27
mmap test fixes
kmod Sep 10, 2015
02f3744
Get more of the sqlalchemy tests working
kmod Sep 10, 2015
d2f33c5
More set stuff
kmod Sep 11, 2015
d5a4dd7
Merge pull request #912 from kmod/mmap
kmod Sep 11, 2015
328967b
Merge pull request #909 from kmod/change_numdefaults
kmod Sep 11, 2015
4f25079
Merge pull request #915 from kmod/set_stuff
kmod Sep 11, 2015
83379f1
dict: the gc can resurrect objects after dealloc
kmod Sep 14, 2015
28a969c
Merge pull request #913 from kmod/sqlalchemy
kmod Sep 14, 2015
3b40ed3
Match cpython's HEAPTYPE flag
kmod Sep 15, 2015
5a04076
Improve pickling of builtins
kmod Sep 15, 2015
9501784
Add CPython's test_pickle.py
kmod Sep 15, 2015
60bab2e
Merge pull request #920 from kmod/heaptype
kmod Sep 16, 2015
50ef9e3
some xrange improvments
Daetalus Sep 16, 2015
7902d9d
allow unicode for module.__doc__, and allow recall module.__init__
aisk Sep 16, 2015
dd45bf6
Merge pull request #916 from aisk/module-test
undingen Sep 16, 2015
a784150
Add a bunch more GC_TRACE_LOG calls
kmod Sep 17, 2015
4d548d3
Can reproduce the class-and-inst bug now
kmod Sep 17, 2015
0aa5dea
Go back to the free-classes-after-instances approach
kmod Sep 17, 2015
adb9ad0
microoptimizations
kmod Sep 17, 2015
c959885
Different approach for tracking ic gc references
kmod Sep 18, 2015
a55fc0b
Add missing tp_iter and tp_iternext functions
undingen Sep 3, 2015
8beb9b5
Merge pull request #891 from undingen/iter_cleanup
kmod Sep 18, 2015
138c2ea
Merge pull request #924 from kmod/gc_fixes
kmod Sep 18, 2015
d69b6cd
Merge pull request #922 from Daetalus/xrange
kmod Sep 18, 2015
e2e8a9f
Copy in the rest of CPython's lib/test dir
kmod Sep 18, 2015
8daa853
Annotate the files that are failing
kmod Sep 18, 2015
4cc0a34
Merge pull request #926 from kmod/cpython_tests
kmod Sep 19, 2015
ec323fc
Fix calling the unicode object using keyword args
undingen Sep 17, 2015
6e2c846
Fix repr() of oldstyle class infinite recursion. add _PyErr_BadIntern…
undingen Sep 17, 2015
7293439
Add attrwrapper_cls->tp_as_mapping->mp_subscript
undingen Sep 18, 2015
0980b4b
Optimize setitem() by calling mp_ass_subscript if available and it's …
undingen Sep 18, 2015
38f385e
Make PyImport_ImportModule call PyImport_Import
undingen Sep 18, 2015
f90202c
Add addGCReference call also to builtin hasattr
undingen Sep 20, 2015
e039ff0
Merge pull request #925 from undingen/lxml3
undingen Sep 20, 2015
0592294
Set cls->has_getattribute for extension classes
kmod Sep 21, 2015
e5bb296
Merge pull request #930 from kmod/flslots
kmod Sep 21, 2015
8e953da
Properly handle METH_COEXIST
kmod Sep 22, 2015
d9678aa
fix Makefile
corona10 Sep 22, 2015
c5139df
Merge pull request #931 from kmod/coexist
kmod Sep 22, 2015
3b44af6
Try to fix set-dtor segfault
kmod Sep 22, 2015
780e3fa
Merge pull request #932 from corona10/MAKEFILE
kmod Sep 23, 2015
66d5202
The line of a decorated function is the decorator
kmod Sep 9, 2015
ccf0623
Merge pull request #906 from kmod/decorated_func_line
kmod Sep 23, 2015
e18f82a
Merge pull request #934 from kmod/set_fix
kmod Sep 23, 2015
4e7933a
Inherit future flags during parsing
kmod Sep 9, 2015
a0dccca
Add a decorator-module test
kmod Sep 9, 2015
4dde351
New approach for marking instances as always-nonzero
kmod Sep 11, 2015
87d0138
Allow non-string object attributes
kmod Sep 15, 2015
42b3470
print statement improvements
kmod Sep 15, 2015
fd4737a
This sqlalchemy test works now
kmod Sep 11, 2015
6fd55fd
Merge pull request #910 from kmod/decorator
kmod Sep 23, 2015
e4d91e3
Fix a type analysis bug
kmod Sep 21, 2015
de60220
Fix class-freeing issue
kmod Sep 20, 2015
b5edf37
Guarding fix around calling __getattr__'s
kmod Sep 23, 2015
45b5197
some long improvements
Daetalus Sep 23, 2015
bfbcc4b
Merge pull request #919 from kmod/sqlalchemy_merge
kmod Sep 23, 2015
19cc862
These sqlalchemy tests are also currently working
kmod Sep 19, 2015
1671aba
get a couple more working that were failing for simple reasons
kmod Sep 19, 2015
01c3fc5
Getattr guarding issue
kmod Sep 24, 2015
f349435
Check return convention everywhere
kmod Sep 24, 2015
ad89177
Testing helpers
kmod Sep 24, 2015
7785c63
some int constructor improvements
Daetalus Sep 23, 2015
4b5e041
Merge pull request #928 from Daetalus/int_improvement
kmod Sep 24, 2015
ee7c4f4
Small irgen fix
kmod Sep 24, 2015
f118d43
Catch exceptions from weakref callbacks
kmod Sep 25, 2015
28dc118
Fix WeakValueDict/WeakKeyDict for a gc
kmod Sep 25, 2015
f6fc362
irgen fix: unbox+reboxing doesn't maintain object id
kmod Sep 25, 2015
1e1fa48
Merge pull request #936 from kmod/sqlalchemy_merge
kmod Sep 25, 2015
f157554
Merge pull request #933 from Daetalus/long_improvements
kmod Sep 25, 2015
def49b2
Add setting func.func_code, PyCFunction_Call, vars() error handling
undingen Sep 21, 2015
4787728
Add lxml test and add PyGILState_Ensure, PyGILState_Release
undingen Sep 22, 2015
ac69cfe
Merge pull request #929 from undingen/lxml4
undingen Sep 28, 2015
7b270cf
Register the data segment of loaded shared libraries
undingen Sep 25, 2015
4b32424
additional error handling
undingen Sep 25, 2015
0c69347
add PyObject_AsWriteBuffer, _PyInstance_Lookup, PyInstance_NewRaw, Py…
undingen Sep 25, 2015
165d0fc
make `test_platform` pass
aisk Sep 28, 2015
bbeea61
add a pyopenssl test + don't define PYPY_VERSION
undingen Sep 26, 2015
6a3416d
Merge pull request #937 from undingen/pyopenssl
kmod Sep 29, 2015
ea0ebeb
Merge pull request #940 from aisk/sys.subversion
kmod Sep 29, 2015
8013893
add pyinotify submodule
Daetalus Sep 27, 2015
15cb10b
add ctypes workaround of tp_dict, wrote by kmod
Daetalus Sep 27, 2015
149c3b4
type.__getattribute__ and object.__getattribute__ are different
kmod Sep 29, 2015
037594f
Get a bunch more sqlalchemy tests working
kmod Sep 30, 2015
e6ade3a
add M2Crypto test + fix missing stuff
undingen Sep 28, 2015
85ff6b7
add pyinotify test and disable ctype_test for now
Daetalus Sep 30, 2015
e7315de
Merge pull request #943 from kmod/sqlalchemy
kmod Sep 30, 2015
1a01b71
Ellipsis implementation
corona10 Sep 29, 2015
4dad166
Merge pull request #941 from corona10/Ellipsis
kmod Oct 1, 2015
7c93e74
Add a check to make sure users don't request custom __builtins__
kmod Oct 1, 2015
b19bf90
Merge pull request #907 from Daetalus/pyinotify
kmod Oct 1, 2015
c660f76
Fix registerDataSegment error when encountering symlinks
undingen Oct 1, 2015
8c8e595
Merge pull request #947 from undingen/fix_symlink
kmod Oct 1, 2015
9b268a7
Missed one of these
kmod Oct 1, 2015
238196d
babel wanted to set __builtins__
kmod Oct 1, 2015
641ab84
Merge pull request #946 from kmod/custom_builtins
kmod Oct 1, 2015
81019f4
Merge pull request #948 from kmod/istype_fix
kmod Oct 1, 2015
6d143b9
Merge pull request #939 from undingen/m2crypto
kmod Oct 2, 2015
7d839c0
Add more asserts to aggressively enforce return conventions
kmod Oct 1, 2015
2a0955b
Merge pull request #949 from kmod/return_conventions
kmod Oct 2, 2015
83f68ab
use a template to remove rewriter checks inside our most important ru…
undingen Oct 2, 2015
711a322
Merge pull request #950 from undingen/rewritable
undingen Oct 4, 2015
eee61fb
microptimize callFunc() by only calling getFunctionName() when necessary
undingen Oct 5, 2015
30f254d
Merge pull request #952 from undingen/rearrange_func_name
kmod Oct 6, 2015
ad8d03c
Have tuple remember what it boxed to
kmod Oct 5, 2015
e03daee
Misc compatibility fixes
kmod Sep 30, 2015
7d34094
Test against an old 0.5-series version of sqlalchemy
kmod Sep 30, 2015
476ba43
Add more Rewritable template args to functions
undingen Oct 5, 2015
c7b6726
Merge pull request #951 from undingen/rewritable2
undingen Oct 6, 2015
58b3305
Use travis_wait to workaround the no output received error
undingen Oct 6, 2015
270cbee
Merge pull request #955 from undingen/travis_wait
undingen Oct 6, 2015
c9eed4a
Use callattr inside PyObject_CallMethod*
undingen Oct 6, 2015
d6152af
I think we just have to skip this test
kmod Oct 6, 2015
3fc7225
Merge pull request #954 from undingen/perf_new4
kmod Oct 6, 2015
e66962b
Merge pull request #953 from kmod/sqlalchemy_5
kmod Oct 6, 2015
d1baf5a
Add rewrite support for calls which use keyword args
undingen Oct 6, 2015
72a2835
microoptimizations: call getitemInternal and callFunc<S, NOT_REWRITABLE>
undingen Oct 6, 2015
67973cf
Merge pull request #956 from undingen/keyword_args
undingen Oct 7, 2015
7d6979e
ics: directly call astInterpretFunc for calls up to 2 args
undingen Oct 7, 2015
de7a980
Don't adjust the reopt threshold depending on the block count
undingen Oct 7, 2015
d3b4a49
Fix a rare 'assert R11 is not used' crash
kmod Oct 7, 2015
5ca5169
deopt: support non parent module globals
undingen Oct 7, 2015
40ca1cc
add readline module with some pyston changes
Daetalus Sep 30, 2015
65954dd
update CPYTHON_TEST_NOTES
Daetalus Sep 30, 2015
050f75d
add __call__ attribute to builtin functions and methods
Daetalus Oct 8, 2015
07158a6
Reenable this rewriting case
kmod Oct 10, 2015
36bfb94
ifdef out some only-for-debug variables
kmod Oct 10, 2015
12955ff
Update section ordering
kmod Oct 10, 2015
7db8638
Merge pull request #961 from Daetalus/test_rlcompleter
kmod Oct 10, 2015
cca5609
Merge pull request #958 from undingen/perf_new5
kmod Oct 10, 2015
764b2da
Merge pull request #963 from kmod/callattr_rewrites
kmod Oct 10, 2015
237b465
handle the situation which provide a directory to pyston
Daetalus Oct 10, 2015
20c2cd3
disable moderate opt and pyston passes and increase reopt threshold
undingen Oct 7, 2015
ede85e0
fix a very bad stack map bug where symbolic entries could end up havi…
undingen Oct 12, 2015
3769cc3
Merge pull request #962 from Daetalus/eight-hundred
kmod Oct 13, 2015
4f432fe
Merge pull request #945 from Daetalus/test_readline
kmod Oct 13, 2015
00b022a
Merge pull request #959 from undingen/disable_moderate
kmod Oct 13, 2015
bedadcc
string: store hash inside object + microoptimizations
undingen Oct 13, 2015
2ea5f3e
add cpythons method cache
undingen Oct 12, 2015
b871bc1
Merge pull request #964 from kmod/rewrite_failed
kmod Oct 15, 2015
40c4e71
Merge pull request #965 from undingen/method_cache
kmod Oct 15, 2015
0ce6a6b
Another unboxed-vals test
kmod Oct 13, 2015
affb88b
Reenable unboxed ints
kmod Oct 13, 2015
a303f67
Do the same for float
kmod Oct 15, 2015
96555a1
ellipsis fix
kmod Oct 15, 2015
1e62e50
object cache: hash IR before doing running any opt passes
undingen Oct 15, 2015
3f25908
remove old workarounds + allow weakref of old style classes
undingen Sep 30, 2015
fdf7fcc
fix deepcopy of dictwrapper objects + enable test_urllib2 + test_array
undingen Sep 30, 2015
464c98e
Merge pull request #969 from kmod/unboxed3
kmod Oct 15, 2015
4818b5a
Merge pull request #944 from undingen/workarounds
kmod Oct 15, 2015
eea94f3
Remove an old assert
kmod Oct 16, 2015
accd183
Merge pull request #973 from kmod/unboxed_fix
kmod Oct 16, 2015
758a9b3
Merge pull request #970 from undingen/cache_optimized
undingen Oct 16, 2015
3ca2326
typeLookup: guard on tp_version_tag instead of mro + Box::getattr
undingen Oct 14, 2015
a9118c1
Merge pull request #966 from undingen/method_cache2
undingen Oct 16, 2015
da5d8d0
enable test_set and add more tests to set.py
Daetalus Sep 29, 2015
e8fd652
make dict not recompute the hash value of the element in set
Daetalus Sep 29, 2015
1f22072
Cleanup the __str__, __repr__ support and let they handle unicode str…
undingen Oct 16, 2015
dbd46f8
pypa: enable optimizations
undingen Oct 16, 2015
7dc0be4
some set stuff
Daetalus Oct 16, 2015
a419290
Merge pull request #974 from undingen/str_cleanup
kmod Oct 16, 2015
230439c
Avoid creating most slice objects
kmod Oct 15, 2015
de4d556
Work around a pyopenssl test bug
kmod Oct 16, 2015
d88d20e
Merge pull request #921 from Daetalus/test_set
kmod Oct 16, 2015
c380bbc
Merge pull request #972 from kmod/avoid_slices
kmod Oct 16, 2015
f09ceff
LLVM tier: adjust num of IC slots depending on the num of times the I…
undingen Oct 20, 2015
5472b5e
Merge pull request #977 from undingen/adjust_ICs_slots
kmod Oct 20, 2015
26cbd0d
rewrite instance_setattro
undingen Oct 19, 2015
a4b0a15
Merge pull request #976 from undingen/instance_setattr
undingen Oct 21, 2015
4c101f1
Switch to 2byte unicode implementation like cpython does on linux
undingen Oct 21, 2015
e6fc53a
add missing template instances
undingen Oct 22, 2015
fcd11d3
Update section ordering
undingen Oct 22, 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

*~
46 changes: 46 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[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
[submodule "test/lib/decorator"]
path = test/lib/decorator
url = https://github.com/micheles/decorator
[submodule "test/lib/pyinotify"]
path = test/lib/pyinotify
url = https://github.com/seb-m/pyinotify.git
[submodule "test/lib/sqlalchemy_0.5"]
path = test/lib/sqlalchemy_0.5
url = https://github.com/zzzeek/sqlalchemy
ignore = untracked
89 changes: 89 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
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
- libxml2-dev
- libxslt1-dev
- libssl-dev
- swig

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 "[email protected]"
- 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 travis_wait 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