[ruby-cvs:71769] shyouhei:r64677 (trunk): add new instruction attribute called leaf

shyouhei at ruby-lang.org shyouhei at ruby-lang.org
Tue Sep 11 18:48:58 JST 2018


shyouhei	2018-09-11 18:48:58 +0900 (Tue, 11 Sep 2018)

  New Revision: 64677

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64677

  Log:
    add new instruction attribute called leaf
    
    An instruction is leaf if it has no rb_funcall inside.  In order to
    check this property, we introduce stack canary which is a random
    number collected at runtime.  Stack top is always filled with this
    number and checked for stack smashing operations, when VM_CHECK_MODE.
    [GH-1947]

  Added files:
    trunk/tool/ruby_vm/views/_leaf_helpers.erb
  Modified files:
    trunk/inits.c
    trunk/insns.def
    trunk/internal.h
    trunk/random.c
    trunk/tool/ruby_vm/models/bare_instructions.rb
    trunk/tool/ruby_vm/views/_insn_entry.erb
    trunk/tool/ruby_vm/views/insns_info.inc.erb
    trunk/variable.c
    trunk/vm_insnhelper.c


More information about the ruby-cvs mailing list