# File lib/execjs/ruby_racer_runtime.rb, line 23
      def eval(source, options = {})
        source = encode(source)

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