interpreter->flags was a mixture of various flags like GC_DEBUG and run core settings. Additionally the CGoto bit was set by default, CGoto + prederef bit did select the CGP core.

This is now cleaned up:
- flags are flags
- run_core settings are separate - only any one core can be active

This has some impacts on command line options:

             Now           old
default      slow core     cgoto core
cgoto        -g
CGP          -C            -P
fast core    -f            -g
prederef     -P            -P -g

Setting bounds checking, trace or profile selects the slow core, *if* this options aren't superseded by a following run core option.

Additionally the optimizer options -O now does:

  -O      := -O1t
  -O2     := -O2t
  -Ot     select fastest core i.e. CGP or switch if no cgoto available

Additonally:
* The embedding interface is updated already.
* some long option names changed, s. parrot --help
* valid core checks are only done once before running
* PARROT_EXEC_CORE could put its Parrot_exec_run states into run_core

Comments welcome,
when things have settled I'll update the docs.

leo



Reply via email to