Sha256: 0be6a392c95b84937807b6d06cf161529694422532ddf9817db60fbd1adcd832

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

#ifndef ruby_internal_iseq_load__inc_
#define ruby_internal_iseq_load__inc_

#include "gc.h"
#include "iseq.h"
#include "vm_core.h"

#ruby <<END
  ruby_version_code = RUBY_VERSION.gsub(/\./, '').to_i

  if ruby_version_code >= 191 then

    $: << '../../..'
    require 'ruby_source_dir'
    iseq_c_location = "#{RUBY_SOURCE_DIR}/iseq.c"

    write = false
    stopwrite = false
    prev_line = nil
    File.open(iseq_c_location) do |input|
      input.each_line do |line|
        case line
        when /^(iseq_load|iseq_alloc|iseq_mark|iseq_free|compile_data_free|make_compile_option|make_compile_option_value|prepare_iseq_build|cleanup_iseq_build|set_relation|iseq_memsize)/
          write = true
          puts prev_line
        when /^static.*iseq_data_type.*=/
          write = true
        when /^static.*COMPILE_OPTION_DEFAULT.*=/
          write = true
        when /^static.*COMPILE_OPTION_FALSE.*=/
          write = true
          stopwrite = true
        when /^#define CHECK_/,
             /^static inline VALUE CHECK_/
          write = true
          stopwrite = true
        when /^\}/
          stopwrite = true
        end
        puts line if write
        if stopwrite then
          write = false
          stopwrite = false
        end
        prev_line = line
      end
    end

  elsif ruby_version_code >= 190 then

    puts <<-END

/* Defined but not declared by ruby */
VALUE iseq_load(VALUE self, VALUE data, VALUE parent, VALUE opt);

    END

  end

  nil
END

#endif

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-internal-0.7.3 ext/internal/vm/iseq/iseq_load.inc.rpp