[parrot/parrot] cff934: Re-bootstrap PCT to remove broken-ness

noreply at github.com noreply at github.com
Thu Jun 16 07:19:20 UTC 2011


  Branch: refs/heads/nqp_pct
  Home:   https://github.com/parrot/parrot

  Commit: cff934fbde6ec1b213263d7013efeeced0cb12d6
      https://github.com/parrot/parrot/commit/cff934fbde6ec1b213263d7013efeeced0cb12d6
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-14 (Tue, 14 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Block.pir
  M compilers/pct/src/PAST/Compiler.pir
  M compilers/pct/src/PAST/Control.pir
  M compilers/pct/src/PAST/Node.pir
  M compilers/pct/src/PAST/Op.pir
  M compilers/pct/src/PAST/Stmts.pir
  M compilers/pct/src/PAST/Val.pir
  M compilers/pct/src/PAST/Var.pir
  M compilers/pct/src/PAST/VarList.pir
  M compilers/pct/src/POST/Call.pir
  M compilers/pct/src/POST/Compiler.pir
  M compilers/pct/src/POST/Constant.pir
  M compilers/pct/src/POST/File.pir
  M compilers/pct/src/POST/Key.pir
  M compilers/pct/src/POST/Label.pir
  M compilers/pct/src/POST/Op.pir
  M compilers/pct/src/POST/Ops.pir
  M compilers/pct/src/POST/Register.pir
  M compilers/pct/src/POST/String.pir
  M compilers/pct/src/POST/Sub.pir
  M compilers/pct/src/POST/Value.pir
  M compilers/pct/src/POST/VanillaAllocator.pir

  Log Message:
  -----------
  Re-bootstrap PCT to remove broken-ness

Old bootstrap had bad code to generate contextuals, making it
impossible to rebootstrap without manual intervention.  That
intervention has now been done and code can move on.


  Commit: 12dba40697e5f39294842e0f9634669a1f36c6a3
      https://github.com/parrot/parrot/commit/12dba40697e5f39294842e0f9634669a1f36c6a3
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M MANIFEST
  M compilers/pct/Rules.mak
  M compilers/pct/src/PAST/Compiler.pm
  M compilers/pct/src/PAST/Nodes.pir
  A compilers/pct/src/PAST/Stmt.pir
  A compilers/pct/src/PAST/Stmt.pm

  Log Message:
  -----------
  [pct] Add PAST::Stmt, UNIQUE_BASE and TEMPREG_BASE

From:	8392f3192d04c7e8c069d6690b053980208dee6b
Author:	pmichaud <pmichaud at pobox.com>


  Commit: c754a2606cbcdd3afcdce770862d0885d59e6467
      https://github.com/parrot/parrot/commit/c754a2606cbcdd3afcdce770862d0885d59e6467
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct]: Code for managing temporary register pools

From:	7e3b1613648d0074e0ab33566d438c0239b20a14
Author:	pmichaud <pmichaud at pobox.com>


  Commit: 3457fe422038e820479157c67d40942d036af833
      https://github.com/parrot/parrot/commit/3457fe422038e820479157c67d40942d036af833
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct]: Use tempreg in coerse, pirop, and Val

Have register coercion, :pasttype<pirop>, and PAST::Val use temporary
registers.  This greatly reduces the number of registers used in any
given sub.

From:	e2eab899fb167d40a1c85aa0425e1593c3758dc9
Author:	pmichaud <pmichaud at pobox.com>


  Commit: 04ef874f69734c8f80b217a31fdd1a30f85c435e
      https://github.com/parrot/parrot/commit/04ef874f69734c8f80b217a31fdd1a30f85c435e
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct]: tempreg in immediate block, if, for, return

Use temporary registers in immediate block return values, method/sub
calls, :pasttype<if>, :pasttype<for>, and :pasttype<return>.

From:	190bf17a32c0bbdb3fb999496dc2f7874a027c06
Author:	pmichaud <pmichaud at pobox.com>


  Commit: 1d4622f9f7ef19413445a5081139781d9e96c949
      https://github.com/parrot/parrot/commit/1d4622f9f7ef19413445a5081139781d9e96c949
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct]: No tempreg inside exception handlers

Temporary registers and exception handlers might not mix, so disable
temporary register generation while processing handlers.

PAST's built-in loop handlers ought to be safe, however.

From:	72a56d9dc12b663a95bcdefa7c666304849c7f06
Author:	pmichaud <pmichaud at pobox.com>


  Commit: 044539635cf70f8bda8efc2d54ecb963a575c9cc
      https://github.com/parrot/parrot/commit/044539635cf70f8bda8efc2d54ecb963a575c9cc
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct]: tempreg in vivi*, force unique in .lex

Update 'viviself' and 'as_vivipost' to use shared temporary registers,
force ".lex" declarations to always use a non-shared registers.

From:	efc90318a5d1232b02a04b4c4c56d1ac8067b001
Author:	pmichaud <pmichaud at pobox.com>


  Commit: 8783a78c470ad0fbd8205f0a3d6010baf4444006
      https://github.com/parrot/parrot/commit/8783a78c470ad0fbd8205f0a3d6010baf4444006
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Block.pm
  M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct]: Let PAST::Block have its own tempregs

Add the ability for a PAST::Block to start a completely new temporary register bank.

From:	6a763d7d00d6800c30d5d8b79b8dc4d4a86ffab4
Author:	pmichaud <pmichaud at pobox.com>


  Commit: ea9260cc9428e0522e2774d5a14319e18c32dd68
      https://github.com/parrot/parrot/commit/ea9260cc9428e0522e2774d5a14319e18c32dd68
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Compiler.pm

  Log Message:
  -----------
  [pct] Stmt - don't reserve return in void context

Don't reserve a Past::Stmt's return register when in void context.

From:	fb77d3c5719dba4f06a2f35672c279d90d47917f
Author:	pmichaud <pmichaud at pobox.com>


  Commit: 0ebb103fd887dc939743d59784a8362dcecc4899
      https://github.com/parrot/parrot/commit/0ebb103fd887dc939743d59784a8362dcecc4899
  Author: Brian Gernhardt <brian.gernhardt at mail.rit.edu>
  Date:   2011-06-15 (Wed, 15 Jun 2011)

  Changed paths:
    M compilers/pct/src/PAST/Block.pir
  M compilers/pct/src/PAST/Compiler.pir
  M compilers/pct/src/PAST/Control.pir
  M compilers/pct/src/PAST/Node.pir
  M compilers/pct/src/PAST/Op.pir
  M compilers/pct/src/PAST/Stmt.pir
  M compilers/pct/src/PAST/Stmts.pir
  M compilers/pct/src/PAST/Val.pir
  M compilers/pct/src/PAST/Var.pir
  M compilers/pct/src/PAST/VarList.pir
  M compilers/pct/src/POST/Call.pir
  M compilers/pct/src/POST/Compiler.pir
  M compilers/pct/src/POST/Constant.pir
  M compilers/pct/src/POST/File.pir
  M compilers/pct/src/POST/Key.pir
  M compilers/pct/src/POST/Label.pir
  M compilers/pct/src/POST/Op.pir
  M compilers/pct/src/POST/Ops.pir
  M compilers/pct/src/POST/Register.pir
  M compilers/pct/src/POST/String.pir
  M compilers/pct/src/POST/Sub.pir
  M compilers/pct/src/POST/Value.pir
  M compilers/pct/src/POST/VanillaAllocator.pir

  Log Message:
  -----------
  Re-bootstrap PCT to get PAST::Stmt

Now NQP-ized PCT can compile NQP-rx's master.  Excellent.


Compare: https://github.com/parrot/parrot/compare/441f80f...0ebb103


More information about the parrot-commits mailing list