1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/coverage
usa 3f4f5fdf0b merge revision(s) f9e5c74c: [Backport #15980]
compile.c: stop wrong peephole optimization when covearge is enabled

	jump-jump optimization ignores the event flags of the jump instruction
	being skipped, which leads to overlook of line events.

	This changeset stops the wrong optimization when coverage measurement is
	neabled and when the jump instruction has any event flag.

	Note that this issue is not only for coverage but also for TracePoint,
	and this change does not fix TracePoint.
	However, fixing it fundamentally is tough (which requires revamp of
	the compiler).  This issue is critical in terms of coverage measurement,
	but minor for TracePoint (ko1 said), so we here choose a stopgap
	measurement.

	[Bug #15980] [Bug #16397]

	Note for backporters: this changeset can be viewed by `git diff -w`.
	---
	 compile.c                      | 232 +++++++++++++++++++++++------------------
	 test/coverage/test_coverage.rb |  12 +++
	 2 files changed, 141 insertions(+), 103 deletions(-)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2021-02-28 14:16:37 +00:00
..
test_coverage.rb merge revision(s) f9e5c74c: [Backport #15980] 2021-02-28 14:16:37 +00:00