mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

Lazily compile out a chain of checks for different known classes and whether `self` embeds its ivars or not. * Remove trailing whitespaces * Get proper addresss in Capstone disassembly * Lowercase address in Capstone disassembly Capstone uses lowercase for jump targets in generated listings. Let's match it. * Use the same successor in getivar guard chains Cuts down on duplication * Address reviews * Fix copypasta error * Add a comment
25 lines
901 B
Ruby
25 lines
901 B
Ruby
#! /your/favourite/path/to/ruby
|
|
# -*- Ruby -*-
|
|
# -*- frozen_string_literal: true; -*-
|
|
# -*- warn_indent: true; -*-
|
|
#
|
|
# Copyright (c) 2017 Urabe, Shyouhei. All rights reserved.
|
|
#
|
|
# This file is a part of the programming language Ruby. Permission is hereby
|
|
# granted, to either redistribute and/or modify this file, provided that the
|
|
# conditions mentioned in the file COPYING are met. Consult the file for
|
|
# details.
|
|
|
|
require_relative 'bare_instructions'
|
|
require_relative 'operands_unifications'
|
|
require_relative 'instructions_unifications'
|
|
require_relative 'micro_jit'
|
|
|
|
RubyVM::Instructions = RubyVM::BareInstructions.to_a + \
|
|
RubyVM::OperandsUnifications.to_a + \
|
|
RubyVM::InstructionsUnifications.to_a + \
|
|
RubyVM::MicroJIT::ExampleInstructions.to_a
|
|
|
|
|
|
require_relative 'trace_instructions'
|
|
RubyVM::Instructions.freeze
|