# File lib/execjs/ruby_racer_runtime.rb, line 21
      def eval(source, options = {})
        source = source.encode('UTF-8') if source.respond_to?(:encode)

        if /\S/ =~ source
          lock do
            begin
              unbox @v8_context.eval("(#{source})")
            rescue ::V8::JSError => e
              if e.value["name"] == "SyntaxError"
                raise RuntimeError, e.message
              else
                raise ProgramError, e.message
              end
            end
          end
        end
      end