Skip to content

Collapse putobject, putobject, newarray #41

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

Closed
wants to merge 658 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
658 commits
Select commit Hold shift + click to select a range
a884886
Restore native non-coroutine code path.
Nov 20, 2018
5547c65
Rename fiber chain benchmark.
Nov 20, 2018
a3de4a0
Remove trailing whitespace.
Nov 20, 2018
ae3c8c2
Prefer "static inline" to avoid duplicate symbols.
Nov 20, 2018
cdb8f3f
* expand tabs.
matzbot Nov 20, 2018
a2cd16e
Expose dependency between cont.c and coroutine implementation.
Nov 20, 2018
98e26e9
Tidy up assembly make rule.
Nov 20, 2018
43d7fd0
Limit coroutine implementations to Linux.
Nov 20, 2018
904af4a
Be even more specific, for some reason it was selecting amd64 on x64-…
Nov 20, 2018
d97c928
Better (?) support for Windows TIB.
Nov 20, 2018
0b5e144
Initial support for x64-mingw32
Nov 20, 2018
49e9208
Fix line endings.
Nov 20, 2018
76c6b6d
Fix configure.ac typo.
Nov 20, 2018
972cc2d
Fix message result.
Nov 20, 2018
0ba0ad8
Fix struct usage.
Nov 20, 2018
8b1b056
Use malloc/free for windows stack allocation.
Nov 20, 2018
c5d3b83
Fix exposure of stack allocations.
Nov 20, 2018
5e8a1da
Expose stack functions to coroutine and non-windows implementations.
Nov 20, 2018
495dffb
GAS style assembly for win64 (mingw).
Nov 20, 2018
638be68
* properties.
matzbot Nov 20, 2018
1fa02b8
Fix windows builds.
Nov 20, 2018
3ccb5b9
Support Visual C++ (mswin)
Nov 20, 2018
973bcc5
Fix typo and make directory
nobu Nov 20, 2018
be3af57
Make fiber_entry static
nobu Nov 20, 2018
5fe1ad9
Fix condition
nobu Nov 20, 2018
d532208
mjit_worker.c: avoid GC when modifying ISeq
k0kubun Nov 20, 2018
51af9ba
Makefile.in: fix Travis i686 build
k0kubun Nov 20, 2018
6f59255
Change ASMEXT to s
nobu Nov 20, 2018
f3ba295
test/excludes/_appveyor: exclude AppVeyor killer
k0kubun Nov 20, 2018
91e6ac3
Make coroutine object directory for each arch
nobu Nov 20, 2018
94438bc
appveyor.yml: native-fiber crashes Enumerator
k0kubun Nov 20, 2018
aee857e
appveyor.yml: exclude TestEnumerable.rb on msys2
k0kubun Nov 20, 2018
3bbc2ab
* properties.
matzbot Nov 20, 2018
52007ca
appveyor.yml: do not undefine everything [ci skip]
k0kubun Nov 20, 2018
c6d0892
configure.ac: disable native-fiber for MinGW
k0kubun Nov 20, 2018
0017e38
Skip known MJIT random test failures
k0kubun Nov 20, 2018
9423a75
* 2018-11-21
matzbot Nov 20, 2018
26adef9
Fix indentation.
Nov 20, 2018
529adb6
Support Universal Binary for macOS
nurse Nov 20, 2018
b755c26
Show function name based on dladdr
nurse Nov 20, 2018
9cda5bb
configure.ac: gather preset variables on mingw
nobu Nov 21, 2018
f1ed4b7
configure.ac: add --disable-fiber-coroutine option
nobu Nov 21, 2018
953091a
char is not unsigned
shyouhei Nov 21, 2018
e0cd7d6
configure.ac: silence `command -v` outpout
nobu Nov 21, 2018
71ce60c
Makefile.in: get rid of `local` for Solaris sh
nobu Nov 21, 2018
2f023c5
Get rid of variable modifiers of BSD make
nobu Nov 21, 2018
5335ce0
Merge master branch from rubygems/rubygems upstream.
hsbt Nov 21, 2018
d12bcfc
test_gem_remote_fetcher.rb: give up testing MJIT here
k0kubun Nov 21, 2018
3385395
errno.h must be included after config.h because config.h might define
Nov 21, 2018
7028d5b
* 2018-11-22
matzbot Nov 21, 2018
e7d919d
* configure.ac: On AIX, LDFLAGS must be after -L../.. in TRY_LINK,
Nov 21, 2018
38f7bb4
Use VirtualAlloc/VirtualProtect/VirtualFree for windows stack allocat…
Nov 22, 2018
6552572
Revert "test_gem_remote_fetcher.rb: give up testing MJIT here"
k0kubun Nov 22, 2018
a43e967
proc.c: Implement Proc#* for Proc composition
nobu Nov 22, 2018
4eaf22c
proc.c: Implement Method#* for Method composition
nobu Nov 22, 2018
3b7b706
proc.c: Support any callable when composing Procs
nobu Nov 22, 2018
c71cc2d
Proc#<< and Proc#>>
nobu Nov 22, 2018
a3bf7a1
.gitignore: revert r65834 partially [ci skip]
znz Nov 22, 2018
15e37da
.gitignore: add .time under coroutine [ci skip]
znz Nov 22, 2018
1d5b52c
.gitignore: add mjit_build_dir.c [ci skip]
znz Nov 22, 2018
8a15e08
mjit_archflag.sh: fix bare word in the header
nobu Nov 22, 2018
633fef6
Enable refinements to public_send.
nobu Nov 22, 2018
16a642c
Enable refinements at Object#respond_to?
nobu Nov 22, 2018
b009de1
configure.ac: support 32-bit builds on x86-64 systems
Nov 22, 2018
6a65f2b
io + socket: make pipes and sockets nonblocking by default
Nov 22, 2018
b309975
Revert r63030
nobu Nov 22, 2018
31649a2
* expand tabs.
matzbot Nov 22, 2018
0bd8193
ext/socket/init.c (rsock_socket0): non-blocking for non-SOCK_NONBLOCK
Nov 22, 2018
4e1ee66
Use File.expand_path("~username") instead of ENV["HOME"]
nurse Nov 22, 2018
69c59f4
Wait accept is ready also on Solaris
nurse Nov 22, 2018
2751b53
mjit.c: avoid running copy job handler after ISeq GC
k0kubun Nov 22, 2018
0698c49
socket: disable nonblocking-by-default on win32
Nov 22, 2018
fc0a92a
* 2018-11-23
matzbot Nov 22, 2018
8a233ea
io.c: revalidate fptr->fd after rb_io_wait_readable
Nov 22, 2018
32b7457
split each assert_nothing_raised
nobu Nov 23, 2018
2d5b57d
prepare for Unicode 11.0.0 update
duerst Nov 23, 2018
16f8863
test/ruby/test_thread.rb: use safe navigation operator.
znz Nov 23, 2018
a93ce3e
proc.c: [DOC] refine proc-compistion examples [ci skip]
nobu Nov 23, 2018
ec9e886
Ignore more DLEXT files [ci skip]
nobu Nov 23, 2018
f9fcffe
io.c (fptr_finalize_flush): close race leading to EBADF
Nov 23, 2018
34f0e8e
* 2018-11-24
matzbot Nov 23, 2018
a6a7d98
io.c (io_fd_check_closed): prioritize cross-thread "stream closed"
Nov 23, 2018
dab99d4
thread.c (rb_wait_for_single_fd): do not miss IO#close notifications
Nov 23, 2018
4f6e302
* expand tabs.
matzbot Nov 23, 2018
b5a1a3a
add GraphemeBreakeTests.txt file to UNICODE_PROPERTY_FILES for download
duerst Nov 23, 2018
ba9a6f8
Fix r65926 test_dir.rb for windows (tilde)
k0kubun Nov 24, 2018
4b0a256
Enable msys2 to check build status.
Nov 24, 2018
6459112
Fix argument order.
Nov 24, 2018
65cec46
Make ext/etc/constdefs.h by srcs-ext
nobu Nov 24, 2018
8c8e72f
Add clean-srcs
nobu Nov 24, 2018
c0e2003
io.c: wait on FD readability w/o GVL reacquisition
Nov 24, 2018
045b0e5
Implement Enumerator#+ and Enumerable#chain [Feature #15144]
knu Nov 24, 2018
94ec8e0
Add entries regarding Enumerator::Chain to NEWS
knu Nov 24, 2018
0914223
Makefile.in: use ASMEXT in implicit rules
nobu Nov 24, 2018
e64f71f
Change Makefile rule for assembly to use .S rather than .s
Nov 24, 2018
f33adbc
Ensure stack is correctly protected
Nov 24, 2018
7850586
Don't use single byte optimization on grapheme clusters
nurse Nov 24, 2018
7599b3f
add tests using Unicode test data for grapheme clusters
duerst Nov 24, 2018
1f97316
fix r65954; Keep tainty
nurse Nov 24, 2018
64148e6
* expand tabs.
matzbot Nov 24, 2018
33afc9e
remove guard against bug #15337, because it is fixed
duerst Nov 24, 2018
865313d
assertions for r65956
nobu Nov 24, 2018
a5e9182
* common.mk: revise r65767 because AIX's grep does not support -A
Nov 24, 2018
cc6020b
* 2018-11-25
matzbot Nov 24, 2018
608b9c2
io.c: disable nonblocking-by-default on win32 pipes
Nov 24, 2018
a943328
Use stub executables generated by RubyGems istead of original executa…
hsbt Nov 25, 2018
9ba098f
* properties.
matzbot Nov 25, 2018
70751a2
un.rb: more options for httpd
nobu Nov 25, 2018
7ac1ff5
Prefer ALLOCV over ALLOCA
nobu Nov 25, 2018
98f8baf
No new entry when getting undefined global variable
nobu Nov 25, 2018
2b9448f
NEWS: fix markup [ci skip]
nobu Nov 25, 2018
87b03e8
parser: improve error messages
nobu Nov 25, 2018
867d398
ChangeLog compatibility [ci skip]
nobu Nov 25, 2018
fc6243a
deal with ONIGENC_CASE_IS_TITLECASE flag on lowercase characters
duerst Nov 25, 2018
9a4d120
create function create_property_node to extract recurring functionality
duerst Nov 25, 2018
dd78257
Fix locations of NODE_UNDEF in undef with multiple args
yui-knk Nov 25, 2018
2c65276
Normalize month-mday before finding epoch
nurse Nov 25, 2018
b1a40c1
* 2018-11-26
matzbot Nov 25, 2018
0889346
add several emoji data files to UNICODE_EMOJI_DOWNLOAD for download
duerst Nov 25, 2018
f944f8c
Followed up r65963. Use libexec directory with sync tool.
hsbt Nov 26, 2018
e590695
Use libexec for distination directory.
hsbt Nov 26, 2018
aa2d27e
Removed `bundle_ruby` command. Because It's no longer shipped from Bu…
hsbt Nov 26, 2018
213fbd8
.travis.yml: update MSAN setups [ci skip]
shyouhei Nov 26, 2018
9e2acbc
un.rb: add more options for httpd to help message [ci skip]
znz Nov 26, 2018
bf5c84a
.travis.yml: avoid bashism
shyouhei Nov 26, 2018
b1ad07b
common.mk: simplify for ruby.imp
nobu Nov 26, 2018
7a635a7
lib/webrick: explicitly convert header values to a string
mame Nov 26, 2018
03cde6c
lib/rdoc/markup/: Remove wrong call to `=~` against Array
mame Nov 26, 2018
e0dd7b4
test/rdoc/test_rdoc_rdoc.rb: add dummy finish
mame Nov 26, 2018
0edc36b
lib/rubygems/command.rb: remove meaningless code
mame Nov 26, 2018
f7e94df
lib/rubygems: explicitly clarify the type for =~ matching
mame Nov 26, 2018
ebff9dc
object.c: Deprecate Object#=~ and add NilClass#=~`
mame Nov 26, 2018
0409290
add tests for grapheme clusters using Unicode Emoji test data
duerst Nov 26, 2018
a2456da
Sync the executables of rdoc from upstream repository.
hsbt Nov 26, 2018
af6adb9
lib/rubygems/indexer.rb: suppress random test-all error
k0kubun Nov 26, 2018
a3bb9f1
mjit_worker.c: disable running copy job
k0kubun Nov 26, 2018
08e1705
process.c: finish MJIT prior to #exec
k0kubun Nov 26, 2018
79f3b6b
Do not load rubygems when disabled
nobu Nov 26, 2018
c8c265f
* properties.
matzbot Nov 26, 2018
0e6aba2
process.c: try to workaroun SEGV by r65994
k0kubun Nov 26, 2018
5b12501
Revert "process.c: try to workaroun SEGV by r65994"
k0kubun Nov 26, 2018
98a2b05
process.c: avoid dlclose before exec
k0kubun Nov 26, 2018
01e2bf3
* 2018-11-27
matzbot Nov 26, 2018
67485fe
vm_trace.c: MJIT-limited thread-safety for postponed_job
k0kubun Nov 26, 2018
2c9259e
test_jit.rb: skip a test for Windows for now
k0kubun Nov 26, 2018
9699020
Support targetting TracePoint [Feature #15289]
ko1 Nov 26, 2018
61c8247
* expand tabs.
matzbot Nov 26, 2018
f6fea2b
fix type error.
ko1 Nov 26, 2018
d35bfda
fix for ansi-pedantic compile option.
ko1 Nov 26, 2018
6e33c16
Give up support for cross-callcc set_trace_func.
ko1 Nov 26, 2018
72e60a0
`TracePoint#enable(target_line:)` is supported. [Feature #15289]
ko1 Nov 26, 2018
27b1553
* remove trailing spaces.
matzbot Nov 26, 2018
51196cf
improve messages for test failures
duerst Nov 26, 2018
b0ba059
to debug https://ci.appveyor.com/project/ruby/ruby/builds/20566898/jo…
ko1 Nov 27, 2018
eea3fe0
enable at least one behavior
ko1 Nov 27, 2018
7bbe9d4
ALWAYS_INLINE implies inline always
nobu Nov 27, 2018
2e07575
add some comments in function node_extended_grapheme_cluster() [ci skip]
duerst Nov 27, 2018
33dc8a5
`RubyVM::ISeq.of` accept ISeq.
ko1 Nov 27, 2018
467c298
* expand tabs.
matzbot Nov 27, 2018
2b44228
fix for ISeq.of(method).
ko1 Nov 27, 2018
a9ace57
enable another assertion
ko1 Nov 27, 2018
b549d14
Add rb_typeddata_is_instance_of
nobu Nov 27, 2018
b62e466
use 'Regional_Indicator' script property instead of fixed constants
duerst Nov 27, 2018
aa44935
use explicit property name when creating nodes for "Grapheme_Cluster_…
duerst Nov 27, 2018
b02f373
restore using_spec.rb
ko1 Nov 27, 2018
7aaf5b2
Embed the Emoji version
nobu Nov 27, 2018
4beec66
Merge rdoc-6.1.0.bata2
aycabta Nov 27, 2018
b7561da
compile.c: prevent out-of-bound initialization of coverage counters
mame Nov 27, 2018
a1c4e0c
* expand tabs.
matzbot Nov 27, 2018
b6f73c9
.travis.yml: split commands
nobu Nov 27, 2018
b6854df
.travis.yml: discard config.cache if CC changed
nobu Nov 27, 2018
186ff0e
.travis.yml: avoid bashism
nobu Nov 27, 2018
6944399
introduce helper function quantify_node() to wrap function node_new_q…
duerst Nov 27, 2018
8f9c00d
introduce helper function quantify_property_node()
duerst Nov 27, 2018
231930c
* remove trailing spaces.
matzbot Nov 27, 2018
9e2455b
introduce helper function create_sequence_node()
duerst Nov 27, 2018
c3fe307
regparse.c: conform C90
k0kubun Nov 27, 2018
86cb3d3
mjit_worker.c: promote mjit_copy_job from function
k0kubun Nov 27, 2018
fc9509b
Merge bundler-2.0.0.pre.2 from upstream.
hsbt Nov 27, 2018
5bc8bb3
* properties.
matzbot Nov 27, 2018
0471115
ruby-style.el: ruby-style-c-mode by VCS [ci skip]
nobu Nov 27, 2018
eae7fbb
Update to ruby/mspec@820486a
eregon Nov 27, 2018
49cd16b
* 2018-11-28
matzbot Nov 27, 2018
5044101
Update to ruby/spec@cdd6ff7
eregon Nov 27, 2018
7086aae
make sure all nodes are correctly freed in create_property_node()
duerst Nov 27, 2018
8186889
declare array for sequence at start of code creating sequence
duerst Nov 27, 2018
87cda89
* remove trailing spaces.
matzbot Nov 27, 2018
99d451f
correctly handle return value from create_sequence_node()
duerst Nov 27, 2018
06bd42a
introduce two more uses of create_sequence_node in node_extended_grap…
duerst Nov 27, 2018
793c48b
* remove trailing spaces.
matzbot Nov 27, 2018
7c4a422
fix order of subexpressions for Hangul
duerst Nov 27, 2018
a607c86
io.c (struct copy_stream_struct): packing
Nov 27, 2018
7b5c2d3
enumerator.c (enum_chain_yield_block): use predefined ID
Nov 27, 2018
eaf9bc0
Add Float::INFINITY or nil to call-seq of Enumerator::Chain#size [ci …
znz Nov 27, 2018
42cb4fe
reduce number of arguments on quantify_property_node()
duerst Nov 28, 2018
e432c52
io.c: reduce IO.copy_stream stack usage on Linux
Nov 28, 2018
b75a459
* expand tabs.
matzbot Nov 28, 2018
14f47de
Removed redundant empty line.
hsbt Nov 28, 2018
7cb0965
.travis.yaml: unquote
shyouhei Nov 28, 2018
97a8334
introduce macro R_ERR to reduce repetitive code
duerst Nov 28, 2018
db67f54
win32/Makefile.sub: add flags for AS
nobu Nov 28, 2018
c5fe904
Fix for coroutine/win32/Context.obj
nobu Nov 28, 2018
db7338f
io.c (rb_update_max_fd): use F_GETFL if possible
Nov 28, 2018
6ec1720
lib/monitor.rb: avoid race conditions by Thread.handle_interrupt
shugo Nov 28, 2018
110273c
using_spec.rb: skip broken test for MinGW for now
k0kubun Nov 28, 2018
b4e3902
use create_sequence_node() once more
duerst Nov 28, 2018
b52761e
Merge stringio.gemspec from github repository.
hsbt Nov 28, 2018
5dbc658
Merge rubygems upstream from https://github.com/rubygems/rubygems/com…
hsbt Nov 28, 2018
79dd244
Regenerated binstubs of bundler, rdoc and irb.
hsbt Nov 28, 2018
e9dbafa
test_settracefunc (test_tracepoint_enable_with_target_line): less fra…
Nov 28, 2018
b7fccec
Remove useless backslash
nobu Nov 28, 2018
2d67a3f
Get rid of block-less Proc.new
nobu Nov 28, 2018
33c7fa6
use create_sequence_node() four more times
duerst Nov 28, 2018
d3b7a10
eliminate intermediate variable in very short block (3 times)
duerst Nov 28, 2018
c80aeb5
remove two unnecessary variables (np2 and np3)
duerst Nov 28, 2018
fe08f99
Try Time.find_timezone to load
nobu Nov 28, 2018
337b4b6
Try Time.find_timezone to convert name to timezone
nobu Nov 28, 2018
bdfc701
Timezone at Time.at
nobu Nov 28, 2018
ab73b30
Time.at in: tz
nobu Nov 28, 2018
2d0833e
Try with TZInfo and Timezone gems
nobu Nov 28, 2018
4471d4a
time.c: rescue find_timezone when loading
nobu Nov 28, 2018
5a9066f
Executable scripts have been moved to libexec [ci skip]
nobu Nov 28, 2018
8ea6c92
time.rb: Move documents and stop others
nobu Nov 29, 2018
58d7444
* 2018-11-29
matzbot Nov 29, 2018
2be1cf4
.travis.yml: fix YAML parse error
shyouhei Nov 29, 2018
493955c
.travis.yml: cache unicode.org files
shyouhei Nov 29, 2018
0b899a2
Remove HEAP_ALIGN_LOG setting in configure.ac for OpenBSD/MirOS
shyouhei Nov 29, 2018
66e9bfd
use __builtin_setjmp on mingw64 [Bug #15348].
ko1 Nov 29, 2018
16d6a91
Revert "using_spec.rb: skip broken test for MinGW for now"
k0kubun Nov 29, 2018
1a6ae0a
Always try to update revision.h with GNU make
nobu Nov 29, 2018
2fc56c9
Create empty revision.h when srcdir is write-only [ci skip]
nobu Nov 29, 2018
a763e34
clear dst Hash on Hash#replace. [Bug #15358]
ko1 Nov 29, 2018
d7e3043
Remove unused variable in example code [ci skip]
znz Nov 29, 2018
9d74d40
disable non-blocking pipes and sockets by default
Nov 29, 2018
0620c97
* 2018-11-30
matzbot Nov 29, 2018
d46cd60
Use a shared array for the `duparray` instruction
tenderlove Nov 29, 2018
f47b38b
io.c: favor comparisons against zero rather than -1
Nov 29, 2018
6ccc237
* expand tabs.
matzbot Nov 29, 2018
1372c09
io.c: fix clang -Werror,-Wshorten-64-to-32 errors
Nov 29, 2018
d7e4e50
io.c: fix clang -Werror,-Wshorten-64-to-32 on Linux sendfile
Nov 29, 2018
eb38fb6
vm_trace.c: workqueue as thread-safe version of postponed_job
Nov 30, 2018
dc1ecab
test/testunit/test_parallel.rb: respect subprocess timeout scale
Nov 30, 2018
157b109
Update source code URI in bundled_gems [ci skip]
nobu Nov 30, 2018
26771ca
Added words in the comment at r65088 [ci skip]
nobu Nov 30, 2018
8f23f69
test/ruby/test_io.rb (test_recycled_fd_close): remove hacks
Nov 30, 2018
cbdf5a1
Collapse putobject, putobject, newarray
tenderlove Nov 30, 2018
f86b49c
* expand tabs.
matzbot Nov 30, 2018
cf18fc3
* 2018-12-01
matzbot Nov 30, 2018
5d3aa0a
Revert "Collapse putobject, putobject, newarray"
tenderlove Dec 1, 2018
e878315
Collapse putobject, putobject, newarray
tenderlove Nov 30, 2018
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
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .gdbinit
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,12 @@ define rp
else
if ($flags & RUBY_T_MASK) == RUBY_T_HASH
printf "%sT_HASH%s: ", $color_type, $color_end,
if ((struct RHash *)($arg0))->ntbl
printf "len=%ld ", ((struct RHash *)($arg0))->ntbl->num_entries
if (((struct RHash *)($arg0))->basic->flags & RHASH_ST_TABLE_FLAG)
printf "st len=%ld ", ((struct RHash *)($arg0))->as.st->num_entries
else
printf "li len=%ld bound=%ld ", \
((((struct RHash *)($arg0))->basic->flags & RHASH_ARRAY_LEN_MASK) >> RHASH_ARRAY_LEN_SHIFT), \
((((struct RHash *)($arg0))->basic->flags & RHASH_ARRAY_BOUND_MASK) >> RHASH_ARRAY_BOUND_SHIFT)
end
print (struct RHash *)($arg0)
else
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*.a
*.bak
*.bc
*.bundle
*.dSYM
*.dmyh
*.dylib
Expand All @@ -20,6 +21,8 @@
*.rej
*.s
*.sav
*.sl
*.so
*.swp
*.yarb
*~
Expand Down Expand Up @@ -92,6 +95,7 @@ lcov*.info
/libruby*.*
/miniprelude.c
/miniruby
/mjit_build_dir.c
/newdate.rb
/newline.c
/newver.rb
Expand Down Expand Up @@ -139,6 +143,10 @@ lcov*.info
/enc/jis/props.h
/enc/unicode/data

# /coroutine/
!/coroutine/**/*.s
/coroutine/**/.time

# /enc/trans/
/enc/trans/*.c
/enc/trans/*.def
Expand Down
Loading