summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-27 17:39:17 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-12-27 17:39:17 +0000
commit496267023c490e717ad0598bf1e3364835b734a4 (patch)
tree476fe618ca22d55f6c92e41da1c444e4dc255432 /vm_core.h
parentfcc5a19e2f9801217691a842250db937de3ea5ee (diff)
fix missed script_compiled events. [Bug #15471]
* ruby.c (process_options): script_compiled events are missed on command line -e or specified file. this commit fix it. [Bug #15471] This patch should be backport to Ruby 2.6 branch. * vm_core.h (rb_exec_event_hook_script_compiled): introduce utility function to invoke a script_compiled event. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/vm_core.h b/vm_core.h
index b40ef4c2cd..fcef0809af 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -1882,6 +1882,14 @@ rb_vm_global_hooks(const rb_execution_context_t *ec)
#define EXEC_EVENT_HOOK_AND_POP_FRAME(ec_, flag_, self_, id_, called_id_, klass_, data_) \
EXEC_EVENT_HOOK_ORIG(ec_, rb_vm_global_hooks(ec_), flag_, self_, id_, called_id_, klass_, data_, 1)
+static inline void
+rb_exec_event_hook_script_compiled(rb_execution_context_t *ec, const rb_iseq_t *iseq, VALUE eval_script)
+{
+ EXEC_EVENT_HOOK(ec, RUBY_EVENT_SCRIPT_COMPILED, ec->cfp->self, 0, 0, 0,
+ NIL_P(eval_script) ? (VALUE)iseq :
+ rb_ary_new_from_args(2, eval_script, (VALUE)iseq));
+}
+
RUBY_SYMBOL_EXPORT_BEGIN
int rb_thread_check_trap_pending(void);