Skip to content

Callattr secondary slowpath #860

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,051 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3051 commits
Select commit Hold shift + click to select a range
b4e870b
rearrange args after the jump
tjhance Jul 12, 2015
c18b215
check if all args are in place
tjhance Jul 12, 2015
10734f5
clean up the way uses for args at guards work
tjhance Jul 12, 2015
f4b9906
add a secondary slowpath for callattr
tjhance Jul 14, 2015
206fd3c
run make format
tjhance Jul 14, 2015
7405db0
I guess at some point this changed
kmod Jul 29, 2015
39b3238
Get the _ctypes module to compile.
rudi-c Jul 23, 2015
bf585e2
Add dummy function implementations to be able to link _ctypes module.
rudi-c Jul 24, 2015
d751470
Handle edge case with C extension metaclasses.
rudi-c Jul 24, 2015
f05bdc2
Temporarily remove assertions to be able to import _ctypes.
rudi-c Jul 24, 2015
69880e2
Refactor: remove extra ExceptionStyle namespace
kmod Jul 28, 2015
65f9d4b
Have the llvm jit support receiving capi exceptions
kmod Jul 28, 2015
d8bf75e
Make some getattrs (in try blocks) use capi exceptions
kmod Jul 29, 2015
2b4fd9c
Add rewrites for capi-style getattrs
kmod Jul 30, 2015
719d4e9
Make `import ctypes` work.
rudi-c Jul 27, 2015
ce091ae
Make test fallback to not using CTypes even though we can import it.
rudi-c Jul 28, 2015
7ece575
Merge pull request #786 from kmod/exceptions3
kmod Jul 30, 2015
988e16e
PGO fix
kmod Jul 31, 2015
4fc2444
some changing about exception handling and remove blank line
corona10 Jul 31, 2015
15655a6
Inherit Py_TPFLAGS_CHECKTYPES.
rudi-c Jul 30, 2015
81825c8
More test diagnostics if pyston crashes early
kmod Jul 31, 2015
8a87d9d
remove the the methods that not belong instance and add __index__
Daetalus Jul 31, 2015
a4515f9
adjust old style class test, add __index__ test
Daetalus Jul 31, 2015
407a627
fix build and support interpreter frames inside getCurrentPythonLine()
undingen Jul 31, 2015
ceb3e44
bjit: directly inline recordType() function
undingen Jul 31, 2015
dd7aa0d
Cache SourceInfo::getScopeInfo
undingen Jul 31, 2015
9000217
Add tip on how to debug infinite recursive bugs from tp_ slots.
rudi-c Jul 31, 2015
bdf0764
Merge pull request #789 from rudi-c/docs_slots
kmod Jul 31, 2015
2f60cce
Merge pull request #788 from undingen/bjit_opt2
kmod Aug 1, 2015
b04977a
Merge pull request #767 from rudi-c/ctypes
kmod Aug 1, 2015
daa197c
Make raise statements in try blocks use capi exceptions
kmod Jul 31, 2015
fc02e94
Fast-path passing NULL kwargs
kmod Jul 31, 2015
ae77051
capi exceptions for getitems
kmod Jul 31, 2015
0514bf3
Add a testing mode to force-use capi exceptions
kmod Jul 31, 2015
3f88340
Merge pull request #787 from Daetalus/old_style_class
kmod Aug 1, 2015
b82d141
Merge pull request #790 from kmod/exceptions2
kmod Aug 1, 2015
b784a5c
last commit before return to base :-)
corona10 Aug 1, 2015
017fb54
re-enable test_slice
Daetalus Aug 1, 2015
6fd62fd
add four slice builtin functions: indices, __hash__, compare, __redu…
Daetalus Aug 1, 2015
ea3daeb
Build fix: I think this flag confuses clang
kmod Aug 2, 2015
00df199
enable test_unary.py
Daetalus Aug 3, 2015
8f2ec50
add compare support and __pos__ to complex
Daetalus Aug 3, 2015
f07534a
add __pos__ to float
Daetalus Aug 3, 2015
4881de1
use new callattr to find attribute function, and add error check
Daetalus Aug 3, 2015
ff6fe32
Merge pull request #791 from Daetalus/test_slice
kmod Aug 3, 2015
7c2b76c
Merge pull request #774 from corona10/recursive
kmod Aug 3, 2015
47f126a
Merge pull request #793 from Daetalus/test_unary
kmod Aug 3, 2015
dcea152
getiter: use tp_iter for non python types
undingen Aug 3, 2015
baae318
microoptimize: PyDict_Contains(attrwrapper_cls, str)
undingen Aug 3, 2015
8ffb67a
Merge pull request #794 from undingen/tp_iter
kmod Aug 3, 2015
5657914
enable future builtin module
Daetalus Aug 4, 2015
b26e85f
implement PyNumber_ToBase by copy CPython code
Daetalus Aug 4, 2015
f9b8010
add test file for future builtin functions
Daetalus Aug 4, 2015
03e4ab9
pypy parser treat all complex statment as 0.0j, fix it, code orginall…
Daetalus Aug 4, 2015
47a293e
section ordering hack: use the PGO-determined ordering
kmod Jul 30, 2015
a875962
Merge pull request #798 from kmod/section_ordering
kmod Aug 4, 2015
5f1b69b
add __hash__ to complex, and fix the hash problem in long and str
Daetalus Aug 4, 2015
52e385e
Merge pull request #797 from Daetalus/test_hash
kmod Aug 5, 2015
1a5837a
Merge pull request #795 from Daetalus/future_builtins
kmod Aug 5, 2015
3b3bf12
Delete build deps submodules
kmod Aug 5, 2015
f0450c2
Readd submodules in build_deps
kmod Aug 5, 2015
754de02
Move test files to the testsuite repo
kmod Aug 4, 2015
c4b88ca
Have Travis-CI fetch submodules recursively
kmod Aug 5, 2015
38e94b5
Merge pull request #803 from kmod/testsuite2
kmod Aug 5, 2015
3ab1408
Rewrite unaryops
undingen Jul 31, 2015
ebf842d
Rewrite property get
undingen Aug 5, 2015
e5da6ef
object.__str__ use capi slot in order to increase compatibility with …
undingen Jul 29, 2015
732ddaf
add thead.lock locked() and locked_lock()
undingen Aug 5, 2015
264540c
Merge pull request #785 from undingen/cheetah_compatibility
kmod Aug 5, 2015
cd0c4bc
Fix "tuple.__module__"
kmod Aug 5, 2015
d172910
Better support for "interactive" statements
kmod Aug 6, 2015
0033228
Bunch of tests are getting farther
kmod Aug 6, 2015
d5f1c95
notes cleanup: these were already working
kmod Aug 6, 2015
552cab2
Try to fix libunwind build issue
kmod Aug 6, 2015
b8f4b5b
add __doc__ attribute to capifunc
Daetalus Aug 6, 2015
3d8398b
Merge pull request #807 from kmod/doctest
kmod Aug 6, 2015
7ca763c
Move around some dict declarations.
rudi-c Aug 6, 2015
03cd0cb
Make gc visitors (gcHandler) static methods on the type being visited.
rudi-c Aug 6, 2015
b34237f
Rename boxGCHandler to Box::gcHandler.
rudi-c Aug 6, 2015
0f4036a
Merge pull request #810 from rudi-c/gc_visit_refactor
kmod Aug 7, 2015
232e05c
Merge pull request #809 from Daetalus/capi_doc
kmod Aug 7, 2015
81a9564
script to help with the section ordering
kmod Aug 4, 2015
409288e
CAPI exceptions for runtimeCall
kmod Jul 31, 2015
b9367a3
CAPI exceptions for callattr
kmod Jul 31, 2015
7ea987f
Templatize callattrInternal()
kmod Aug 1, 2015
643a89b
Misc fixes/improvements
kmod Aug 1, 2015
324397a
Allow templated tpp_call
kmod Aug 1, 2015
5a6a15c
Allow capi calls through typecallinner
kmod Aug 1, 2015
9f5eb12
Templatize float() and int()
kmod Aug 4, 2015
a44f1c8
Some light profiling to inform capi vs cxx exceptions
kmod Aug 6, 2015
0edbf98
Rewrite exception-mismatched function calls
kmod Aug 6, 2015
26dabd1
Rebuild extension modules when we change headers
kmod Aug 6, 2015
96febb0
Merge pull request #811 from kmod/exceptions4
kmod Aug 7, 2015
2f5d72d
Merge pull request #804 from undingen/more_ics2
kmod Aug 7, 2015
e30f289
Fix merge issue between #804 and #811
kmod Aug 7, 2015
e8192c9
fix a few generator problems
undingen Aug 7, 2015
e69369f
copy random.c from CPython, to support randomization seed
Daetalus Aug 7, 2015
bb7e9a9
enable test_hash
Daetalus Aug 7, 2015
f76fb2f
add -R option to pyston, enable random seed
Daetalus Aug 7, 2015
dc25448
some adjustment to use new string hash function
Daetalus Aug 7, 2015
a13167f
copy CPython string hash code plus some modifications
Daetalus Aug 7, 2015
2404172
Merge pull request #812 from undingen/generator_fixes
kmod Aug 7, 2015
31c96c0
Fix the in-tree benchmarks
kmod Aug 8, 2015
2f7d52b
Change how the llvm jit passes exceptions between blocks
kmod Aug 7, 2015
9789073
Have the llvm tier be able to throw capi exceptions
kmod Aug 7, 2015
456384d
Templatize generator.next
kmod Aug 8, 2015
8b122bf
Simple heuristic: 'next' usually throws
kmod Aug 8, 2015
fb2eef6
Merge pull request #814 from kmod/throw_capis3
kmod Aug 8, 2015
4f44b37
Get rid of stacktrace.cpp
kmod Aug 8, 2015
10ac9f3
Factor out the "C stack->Python stack" conversion
kmod Aug 8, 2015
4b7c277
Move a bunch of stuff out of UnwindSession
kmod Aug 8, 2015
91ac456
Rename these functions
kmod Aug 8, 2015
fcad2a6
Ignore t3.py as well
kmod Aug 8, 2015
3307cdd
Merge pull request #815 from kmod/exceptions
kmod Aug 9, 2015
2d7d24c
Use profiling to know when to throw CAPI exceptions
kmod Aug 8, 2015
7e76717
Enable validation of printf-style format strings
kmod Aug 4, 2015
e087a27
GCC doesn't like zero-length format strings
kmod Aug 5, 2015
9259842
Enable CAPI reraises
kmod Aug 10, 2015
961e615
Merge pull request #799 from kmod/format_checking
kmod Aug 10, 2015
6b9607c
rewrite additional nonzero() cases
undingen Aug 10, 2015
eb501e0
Don't switch exception styles in some cases
kmod Aug 10, 2015
5926766
Merge pull request #813 from Daetalus/test_hash
kmod Aug 10, 2015
dba9b2b
Merge pull request #816 from kmod/throw_capis3
kmod Aug 10, 2015
7df9e62
microoptimizations
kmod Aug 9, 2015
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
3f60b02
remove all live_outs
tjhance Jul 12, 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 "[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 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