[#23657] [Bug #1550] String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes — Run Paint Run Run <redmine@...>

Bug #1550: String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes

13 messages 2009/06/01

[#23729] [Bug #1583] Time + String no Longer Raises TypeError? — Run Paint Run Run <redmine@...>

Bug #1583: Time + String no Longer Raises TypeError?

14 messages 2009/06/05

[#23770] [Bug #1595] rake unusable on windows install — Robert Gonzalez <redmine@...>

Bug #1595: rake unusable on windows install

10 messages 2009/06/09

[#23869] [Bug #1640] [PATCH] Documentation for the Rational Class — Run Paint Run Run <redmine@...>

Bug #1640: [PATCH] Documentation for the Rational Class

12 messages 2009/06/16

[#23903] [Bug #1648] Rational#div Raises NoMethodError for Invalid Argument — Run Paint Run Run <redmine@...>

Bug #1648: Rational#div Raises NoMethodError for Invalid Argument

9 messages 2009/06/17

[#23977] [ANN] meeting log of RubyDeveloperKaigi20090622 — "Yugui (Yuki Sonoda)" <yugui@...>

Hi,

41 messages 2009/06/23
[#23979] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Run Paint Run Run <runrun@...> 2009/06/23

Thanks for the update. :-)

[#24173] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — "NARUSE, Yui" <naruse@...> 2009/07/07

Sorry for late response,

[#24174] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Luis Lavena <luislavena@...> 2009/07/07

On Tue, Jul 7, 2009 at 12:12 AM, NARUSE, Yui<naruse@airemix.jp> wrote:

[#24242] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Charles Oliver Nutter <headius@...> 2009/07/09

On Mon, Jul 6, 2009 at 10:18 PM, Luis Lavena<luislavena@gmail.com> wrote:

[#24010] [Bug #1685] Some windows unicode path issues remain — B Kelly <redmine@...>

Bug #1685: Some windows unicode path issues remain

26 messages 2009/06/24
[#29189] [Bug #1685] Some windows unicode path issues remain — Yuki Sonoda <redmine@...> 2010/04/01

Issue #1685 has been updated by Yuki Sonoda.

[#29200] Re: [Bug #1685] Some windows unicode path issues remain — Bill Kelly <billk@...> 2010/04/01

Yuki Sonoda wrote:

[#29892] Re: [Bug #1685] Some windows unicode path issues remain — Bill Kelly <billk@...> 2010/04/29

Hi,

[#24058] [Bug #1696] http downloads are unuseably slow — Steven Hartland <redmine@...>

Bug #1696: http downloads are unuseably slow

19 messages 2009/06/27

[#24063] [Feature #1697] Object#<=> — Marc-Andre Lafortune <redmine@...>

Feature #1697: Object#<=>

15 messages 2009/06/28

[ruby-core:23701] Re: Standard Ruby bytecode

From: Eero Saynatkari <ruby-ml@...>
Date: 2009-06-04 11:36:02 UTC
List: ruby-core #23701
Excerpts from Ioannis Nousias's message of Thu Jun 04 12:11:06 +0300 2009:
> I came across this post:
> 
> http://stackoverflow.com/questions/884186/can-ruby-php-or-perl-create-a-pre-comp
> iled-file-for-the-code-like-python/949163#949163
> 
> a question that I was interested for an answer as well. According to 
> J旦rg W Mittag, there is no standardised bytecode at the moment, with 
> every VM implementation having its own, with a possibility of adopting 
> YARV's bytecode as a standard in the future.

The question seems to be about a /non-portable/ bytecode
file? This is naturally quite achievable and Jorg does
a good job of answering it in the linked thread. Rubinius
does compile all .rb files to .rbcs and will use the latter
if the original (and the compiler) is unchanged.

There is a separate question of whether it is possible and
make sense to define a *portable* bytecode format so that
a bytecode dump file could be loaded by any interpreter. I
personally do not see any benefits (slightly smaller file
size for transfer? Extremely weak obfuscation?) outweighing
the disadvantages (the implementations cannot produce the
kind of bytecode they view to be the best possible for the
platform it is intended to run on.) I am sure that I may
be overlooking some benefit, so please do correct me in
that case.

The second concern, of course, is that the move is now to-
ward object code (native code), no longer bytecode, which
brings us to the second part:

> my question to the ruby developer community is: has anyone considered 
> using LLVM's [1] bytecode for this purpose. I don't know how applicable 
> it is, but I would expect certain advantages using a well establish 
> format, instead of yet-another-custom-bytecode, with the potential of 
> taping into LLVM's resources.

In short, it is not possible to "use LLVM's bytecode" for
this, because it is not representative of a Ruby program.
Basically, that question is the same as "is it possible to
use ASM to represent a compiled Ruby file?"

(By the by, LLVM uses the term "bitcode" -- not a nag, it
will just be easier to search for those terms)

It is certainly possible to actually use LLVM and thereby
possibly its bitcode which is what Rubinius is doing (as
is MacRuby?) If such bitcode were dumped, though, it would
still be highly dependent on the target VM, unless again
a specific effort were made to to translate it to a generic
representation -- necessitating, almost certainly, another
translation pass when loading the code back in to get the
benefit of the VM architecture in question) which leaves
us back at the earlier point.

And, as intimated before, it is actually possible -- though
how useful and feasible I am not sure -- to dump the /object
code/ representation of JIT (or AOT) compiled Ruby for the
implementations that support that functionality (essentially
similar to the .o files a C compiler produces, though with
some .so-ish semantics.) I would certainly not go so far as
to say that this makes bitcode or .rbc files obsolete in the
near future, but it is another thing to consider.

(Disclaimer, just in case: I am working on Rubinius and so
naturally biased in its direction.)


Regards,
        Eero

--
Magic is insufficiently advanced technology.




In This Thread