|  | @@ -8,7 +8,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(aVisitor)._visitIRInlinedAssignment_(self);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "accept:", [aVisitor], smalltalk.IRInlinedAssignment)},
 | 
	
	
		
			
				|  | @@ -26,7 +26,7 @@ selector: "isInlined",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return true;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return true;
 | 
	
		
			
				|  |  |  }, self, "isInlined", [], smalltalk.IRInlinedAssignment)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isInlined\x0a\x09^ true",
 | 
	
	
		
			
				|  | @@ -46,7 +46,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitIRInlinedClosure_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedClosure_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedClosure)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedClosure: self",
 | 
	
	
		
			
				|  | @@ -62,7 +62,7 @@ selector: "isInlined",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return true;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return true;
 | 
	
		
			
				|  |  |  }, self, "isInlined", [], smalltalk.IRInlinedClosure)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isInlined\x0a\x09^ true",
 | 
	
	
		
			
				|  | @@ -82,7 +82,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(aVisitor)._visitIRInlinedReturn_(self);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "accept:", [aVisitor], smalltalk.IRInlinedReturn)},
 | 
	
	
		
			
				|  | @@ -100,7 +100,7 @@ selector: "isInlined",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return true;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return true;
 | 
	
		
			
				|  |  |  }, self, "isInlined", [], smalltalk.IRInlinedReturn)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isInlined\x0a\x09^ true",
 | 
	
	
		
			
				|  | @@ -120,7 +120,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(aVisitor)._visitIRInlinedNonLocalReturn_(self);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "accept:", [aVisitor], smalltalk.IRInlinedNonLocalReturn)},
 | 
	
	
		
			
				|  | @@ -138,7 +138,7 @@ selector: "isInlined",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return true;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return true;
 | 
	
		
			
				|  |  |  }, self, "isInlined", [], smalltalk.IRInlinedNonLocalReturn)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isInlined\x0a\x09^ true",
 | 
	
	
		
			
				|  | @@ -158,7 +158,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitInlinedSend_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitInlinedSend_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedSend)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitInlinedSend: self",
 | 
	
	
		
			
				|  | @@ -174,7 +174,7 @@ selector: "isInlined",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return true;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return true;
 | 
	
		
			
				|  |  |  }, self, "isInlined", [], smalltalk.IRInlinedSend)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isInlined\x0a\x09^ true",
 | 
	
	
		
			
				|  | @@ -193,7 +193,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitIRInlinedIfFalse_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfFalse_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedIfFalse)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfFalse: self",
 | 
	
	
		
			
				|  | @@ -212,7 +212,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfNilIfNotNil_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedIfNilIfNotNil)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfNilIfNotNil: self",
 | 
	
	
		
			
				|  | @@ -231,7 +231,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitIRInlinedIfTrue_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrue_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedIfTrue)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfTrue: self",
 | 
	
	
		
			
				|  | @@ -250,7 +250,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedIfTrueIfFalse_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedIfTrueIfFalse)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedIfTrueIfFalse: self",
 | 
	
	
		
			
				|  | @@ -270,7 +270,7 @@ selector: "accept:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (aVisitor){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(aVisitor)._visitIRInlinedSequence_(self);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(aVisitor)._visitIRInlinedSequence_(self);
 | 
	
		
			
				|  |  |  return self}, self, "accept:", [aVisitor], smalltalk.IRInlinedSequence)},
 | 
	
		
			
				|  |  |  args: ["aVisitor"],
 | 
	
		
			
				|  |  |  source: "accept: aVisitor\x0a\x09aVisitor visitIRInlinedSequence: self",
 | 
	
	
		
			
				|  | @@ -286,7 +286,7 @@ selector: "isInlined",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return true;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return true;
 | 
	
		
			
				|  |  |  }, self, "isInlined", [], smalltalk.IRInlinedSequence)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isInlined\x0a\x09^ true",
 | 
	
	
		
			
				|  | @@ -306,7 +306,7 @@ selector: "assignmentInliner",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRAssignmentInliner || IRAssignmentInliner))._new();
 | 
	
		
			
				|  |  |  _st($2)._translator_(self);
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
	
		
			
				|  | @@ -327,7 +327,7 @@ selector: "nonLocalReturnInliner",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRNonLocalReturnInliner || IRNonLocalReturnInliner))._new();
 | 
	
		
			
				|  |  |  _st($2)._translator_(self);
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
	
		
			
				|  | @@ -348,7 +348,7 @@ selector: "returnInliner",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRReturnInliner || IRReturnInliner))._new();
 | 
	
		
			
				|  |  |  _st($2)._translator_(self);
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
	
		
			
				|  | @@ -369,7 +369,7 @@ selector: "sendInliner",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRSendInliner || IRSendInliner))._new();
 | 
	
		
			
				|  |  |  _st($2)._translator_(self);
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
	
		
			
				|  | @@ -390,12 +390,12 @@ selector: "shouldInlineAssignment:",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (anIRAssignment){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(_st(_st(anIRAssignment)._isInlined())._not())._and_((function(){
 | 
	
		
			
				|  |  | -return _st(_st(_st(_st(anIRAssignment)._instructions())._last())._isSend())._and_((function(){
 | 
	
		
			
				|  |  | -return _st(self)._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(_st(_st(_st(anIRAssignment)._instructions())._last())._isSend())._and_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx3) { 
return _st(self)._shouldInlineSend_(_st(_st(anIRAssignment)._instructions())._last());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "shouldInlineAssignment:", [anIRAssignment], smalltalk.IRInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRAssignment"],
 | 
	
	
		
			
				|  | @@ -412,12 +412,12 @@ selector: "shouldInlineReturn:",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (anIRReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(_st(_st(anIRReturn)._isInlined())._not())._and_((function(){
 | 
	
		
			
				|  |  | -return _st(_st(_st(_st(anIRReturn)._instructions())._first())._isSend())._and_((function(){
 | 
	
		
			
				|  |  | -return _st(self)._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(_st(_st(_st(anIRReturn)._instructions())._first())._isSend())._and_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx3) { 
return _st(self)._shouldInlineSend_(_st(_st(anIRReturn)._instructions())._first());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "shouldInlineReturn:", [anIRReturn], smalltalk.IRInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRReturn"],
 | 
	
	
		
			
				|  | @@ -434,10 +434,10 @@ selector: "shouldInlineSend:",
 | 
	
		
			
				|  |  |  category: 'testing',
 | 
	
		
			
				|  |  |  fn: function (anIRSend){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(_st(_st(anIRSend)._isInlined())._not())._and_((function(){
 | 
	
		
			
				|  |  | -return _st((smalltalk.IRSendInliner || IRSendInliner))._shouldInline_(anIRSend);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st((smalltalk.IRSendInliner || IRSendInliner))._shouldInline_(anIRSend);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "shouldInlineSend:", [anIRSend], smalltalk.IRInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRSend"],
 | 
	
	
		
			
				|  | @@ -454,21 +454,21 @@ selector: "transformNonLocalReturn:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRNonLocalReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2,$3,$4;
 | 
	
		
			
				|  |  | -var localReturn;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4;
 | 
	
		
			
				|  |  | +$ctx1.localReturn=nil;
 | 
	
		
			
				|  |  |  $1=_st(_st(anIRNonLocalReturn)._scope())._canInlineNonLocalReturns();
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  _st(_st(_st(anIRNonLocalReturn)._scope())._methodScope())._removeNonLocalReturn_(_st(anIRNonLocalReturn)._scope());
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRReturn || IRReturn))._new();
 | 
	
		
			
				|  |  |  _st($2)._scope_(_st(anIRNonLocalReturn)._scope());
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
		
			
				|  |  | -localReturn=$3;
 | 
	
		
			
				|  |  | -localReturn;
 | 
	
		
			
				|  |  | +$ctx1.locals.localReturn=$3;
 | 
	
		
			
				|  |  | +$ctx1.locals.localReturn;
 | 
	
		
			
				|  |  |  _st(_st(anIRNonLocalReturn)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | -return _st(localReturn)._add_(each);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -_st(anIRNonLocalReturn)._replaceWith_(localReturn);
 | 
	
		
			
				|  |  | -return localReturn;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st($ctx1.locals.localReturn)._add_(each);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +_st(anIRNonLocalReturn)._replaceWith_($ctx1.locals.localReturn);
 | 
	
		
			
				|  |  | +return $ctx1.locals.localReturn;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  $4=smalltalk.IRVisitor.fn.prototype._visitIRNonLocalReturn_.apply(_st(self), [anIRNonLocalReturn]);
 | 
	
		
			
				|  |  |  return $4;
 | 
	
	
		
			
				|  | @@ -487,7 +487,7 @@ selector: "visitIRAssignment:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRAssignment){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$1;
 | 
	
		
			
				|  |  |  $2=_st(self)._shouldInlineAssignment_(anIRAssignment);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  $1=_st(_st(self)._assignmentInliner())._inlineAssignment_(anIRAssignment);
 | 
	
	
		
			
				|  | @@ -510,7 +510,7 @@ selector: "visitIRNonLocalReturn:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRNonLocalReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$1;
 | 
	
		
			
				|  |  |  $2=_st(self)._shouldInlineReturn_(anIRNonLocalReturn);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  $1=_st(_st(self)._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
 | 
	
	
		
			
				|  | @@ -533,7 +533,7 @@ selector: "visitIRReturn:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$1;
 | 
	
		
			
				|  |  |  $2=_st(self)._shouldInlineReturn_(anIRReturn);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  $1=_st(_st(self)._returnInliner())._inlineReturn_(anIRReturn);
 | 
	
	
		
			
				|  | @@ -556,7 +556,7 @@ selector: "visitIRSend:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRSend){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$1;
 | 
	
		
			
				|  |  |  $2=_st(self)._shouldInlineSend_(anIRSend);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  $1=_st(_st(self)._sendInliner())._inlineSend_(anIRSend);
 | 
	
	
		
			
				|  | @@ -583,7 +583,7 @@ selector: "visitIRInlinedAssignment:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedAssignment){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedAssignment)._instructions())._last());
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedAssignment:", [anIRInlinedAssignment], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedAssignment"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedAssignment: anIRInlinedAssignment\x0a\x09self visit: anIRInlinedAssignment instructions last",
 | 
	
	
		
			
				|  | @@ -599,9 +599,9 @@ selector: "visitIRInlinedClosure:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedClosure){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(each);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(anIRInlinedClosure)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(each);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedClosure:", [anIRInlinedClosure], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedClosure"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedClosure: anIRInlinedClosure\x0a\x09anIRInlinedClosure instructions do: [ :each |\x0a\x09\x09self visit: each ]",
 | 
	
	
		
			
				|  | @@ -617,13 +617,13 @@ selector: "visitIRInlinedIfFalse:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedIfFalse){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(self)._stream())._nextPutIf_with_((function(){
 | 
	
		
			
				|  |  | -_st(_st(self)._stream())._nextPutAll_("! smalltalk.assert(");
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
_st(_st(self)._stream())._nextPutAll_("! smalltalk.assert(");
 | 
	
		
			
				|  |  |  _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._first());
 | 
	
		
			
				|  |  |  return _st(_st(self)._stream())._nextPutAll_(")");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfFalse)._instructions())._last());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedIfFalse:", [anIRInlinedIfFalse], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedIfFalse"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedIfFalse: anIRInlinedIfFalse\x0a\x09self stream nextPutIf: [ \x0a\x09\x09self stream nextPutAll: '! smalltalk.assert('.\x0a\x09\x09self visit: anIRInlinedIfFalse instructions first.\x0a\x09\x09self stream nextPutAll: ')' ]\x0a\x09\x09with: [ self visit: anIRInlinedIfFalse instructions last ]",
 | 
	
	
		
			
				|  | @@ -639,13 +639,13 @@ selector: "visitIRInlinedIfNil:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedIfNil){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(self)._stream())._nextPutIf_with_((function(){
 | 
	
		
			
				|  |  | -_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 | 
	
		
			
				|  |  |  _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._first());
 | 
	
		
			
				|  |  |  return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfNil)._instructions())._last());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedIfNil:", [anIRInlinedIfNil], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedIfNil"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedIfNil: anIRInlinedIfNil\x0a\x09self stream nextPutIf: [ \x0a\x09\x09self stream nextPutAll: '($receiver = '. \x0a\x09\x09self visit: anIRInlinedIfNil instructions first.\x0a\x09\x09self stream nextPutAll: ') == nil || $receiver == undefined' ]\x0a\x09\x09with: [ self visit: anIRInlinedIfNil instructions last ]",
 | 
	
	
		
			
				|  | @@ -661,15 +661,15 @@ selector: "visitIRInlinedIfNilIfNotNil:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedIfNilIfNotNil){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
 | 
	
		
			
				|  |  | -_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
_st(_st(self)._stream())._nextPutAll_("($receiver = ");
 | 
	
		
			
				|  |  |  _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._first());
 | 
	
		
			
				|  |  |  return _st(_st(self)._stream())._nextPutAll_(") == nil || $receiver == undefined");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._second());
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._second());
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfNilIfNotNil)._instructions())._third());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedIfNilIfNotNil:", [anIRInlinedIfNilIfNotNil], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedIfNilIfNotNil"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedIfNilIfNotNil: anIRInlinedIfNilIfNotNil\x0a\x09self stream \x0a\x09\x09nextPutIfElse: [ \x0a\x09\x09\x09self stream nextPutAll: '($receiver = '. \x0a\x09\x09\x09self visit: anIRInlinedIfNilIfNotNil instructions first.\x0a\x09\x09\x09self stream nextPutAll: ') == nil || $receiver == undefined' ]\x0a\x09\x09with: [ self visit: anIRInlinedIfNilIfNotNil instructions second ]\x0a\x09\x09with: [ self visit: anIRInlinedIfNilIfNotNil instructions third ]",
 | 
	
	
		
			
				|  | @@ -685,13 +685,13 @@ selector: "visitIRInlinedIfTrue:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedIfTrue){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(self)._stream())._nextPutIf_with_((function(){
 | 
	
		
			
				|  |  | -_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIf_with_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 | 
	
		
			
				|  |  |  _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._first());
 | 
	
		
			
				|  |  |  return _st(_st(self)._stream())._nextPutAll_(")");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfTrue)._instructions())._last());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedIfTrue:", [anIRInlinedIfTrue], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedIfTrue"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedIfTrue: anIRInlinedIfTrue\x0a\x09self stream nextPutIf: [ \x0a\x09\x09self stream nextPutAll: 'smalltalk.assert('. \x0a\x09\x09self visit: anIRInlinedIfTrue instructions first.\x0a\x09\x09self stream nextPutAll: ')' ]\x0a\x09\x09with: [ self visit: anIRInlinedIfTrue instructions last ]",
 | 
	
	
		
			
				|  | @@ -707,15 +707,15 @@ selector: "visitIRInlinedIfTrueIfFalse:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedIfTrueIfFalse){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
 | 
	
		
			
				|  |  | -_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutIfElse_with_with_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
_st(_st(self)._stream())._nextPutAll_("smalltalk.assert(");
 | 
	
		
			
				|  |  |  _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._first());
 | 
	
		
			
				|  |  |  return _st(_st(self)._stream())._nextPutAll_(")");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._second());
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._second());
 | 
	
		
			
				|  |  | +})}),(function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedIfTrueIfFalse)._instructions())._third());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedIfTrueIfFalse:", [anIRInlinedIfTrueIfFalse], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedIfTrueIfFalse"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedIfTrueIfFalse: anIRInlinedIfTrueIfFalse\x0a\x09self stream \x0a\x09\x09nextPutIfElse: [ \x0a\x09\x09\x09self stream nextPutAll: 'smalltalk.assert('. \x0a\x09\x09\x09self visit: anIRInlinedIfTrueIfFalse instructions first.\x0a\x09\x09\x09self stream nextPutAll: ')' ]\x0a\x09\x09with: [ self visit: anIRInlinedIfTrueIfFalse instructions second ]\x0a\x09\x09with: [ self visit: anIRInlinedIfTrueIfFalse instructions third ]",
 | 
	
	
		
			
				|  | @@ -731,11 +731,11 @@ selector: "visitIRInlinedNonLocalReturn:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(self)._stream())._nextPutStatementWith_((function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._stream())._nextPutStatementWith_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  _st(_st(self)._stream())._nextPutNonLocalReturnWith_((function(){
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedNonLocalReturn:", [anIRInlinedReturn], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedReturn"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedNonLocalReturn: anIRInlinedReturn\x0a\x09self stream nextPutStatementWith: [\x0a\x09\x09self visit: anIRInlinedReturn instructions last ].\x0a\x09self stream nextPutNonLocalReturnWith: [ ]",
 | 
	
	
		
			
				|  | @@ -751,7 +751,7 @@ selector: "visitIRInlinedReturn:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(self)._visit_(_st(_st(anIRInlinedReturn)._instructions())._last());
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedReturn:", [anIRInlinedReturn], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedReturn"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedReturn: anIRInlinedReturn\x0a\x09self visit: anIRInlinedReturn instructions last",
 | 
	
	
		
			
				|  | @@ -767,11 +767,11 @@ selector: "visitIRInlinedSequence:",
 | 
	
		
			
				|  |  |  category: 'visiting',
 | 
	
		
			
				|  |  |  fn: function (anIRInlinedSequence){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st(_st(anIRInlinedSequence)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | -return _st(_st(self)._stream())._nextPutStatementWith_((function(){
 | 
	
		
			
				|  |  | -return _st(self)._visit_(each);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st(_st(anIRInlinedSequence)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st(_st(self)._stream())._nextPutStatementWith_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx3) { 
return _st(self)._visit_(each);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return self}, self, "visitIRInlinedSequence:", [anIRInlinedSequence], smalltalk.IRInliningJSTranslator)},
 | 
	
		
			
				|  |  |  args: ["anIRInlinedSequence"],
 | 
	
		
			
				|  |  |  source: "visitIRInlinedSequence: anIRInlinedSequence\x0a\x09anIRInlinedSequence instructions do: [ :each | \x0a\x09\x09self stream nextPutStatementWith: [ self visit: each ]]",
 | 
	
	
		
			
				|  | @@ -791,7 +791,7 @@ selector: "ifFalse:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(self)._inlinedSend_with_(_st((smalltalk.IRInlinedIfFalse || IRInlinedIfFalse))._new(),anIRInstruction);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "ifFalse:", [anIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -809,7 +809,7 @@ selector: "ifFalse:ifTrue:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction,anotherIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(self)._perform_withArguments_(smalltalk.symbolFor("ifTrue:ifFalse:"),[anotherIRInstruction,anIRInstruction]);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "ifFalse:ifTrue:", [anIRInstruction,anotherIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -827,7 +827,7 @@ selector: "ifNil:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$4,$5,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$5,$1;
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRClosure || IRClosure))._new();
 | 
	
		
			
				|  |  |  _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 | 
	
		
			
				|  |  |  $3=_st((smalltalk.IRBlockSequence || IRBlockSequence))._new();
 | 
	
	
		
			
				|  | @@ -852,7 +852,7 @@ selector: "ifNil:ifNotNil:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction,anotherIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfNilIfNotNil || IRInlinedIfNilIfNotNil))._new(),anIRInstruction,anotherIRInstruction);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "ifNil:ifNotNil:", [anIRInstruction,anotherIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -870,7 +870,7 @@ selector: "ifNotNil:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$4,$5,$1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$4,$5,$1;
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRClosure || IRClosure))._new();
 | 
	
		
			
				|  |  |  _st($2)._scope_(_st(_st(anIRInstruction)._scope())._copy());
 | 
	
		
			
				|  |  |  $3=_st((smalltalk.IRBlockSequence || IRBlockSequence))._new();
 | 
	
	
		
			
				|  | @@ -895,7 +895,7 @@ selector: "ifNotNil:ifNil:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction,anotherIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfNilIfNotNil || IRInlinedIfNilIfNotNil))._new(),anotherIRInstruction,anIRInstruction);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "ifNotNil:ifNil:", [anIRInstruction,anotherIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -913,7 +913,7 @@ selector: "ifTrue:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(self)._inlinedSend_with_(_st((smalltalk.IRInlinedIfTrue || IRInlinedIfTrue))._new(),anIRInstruction);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "ifTrue:", [anIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -931,7 +931,7 @@ selector: "ifTrue:ifFalse:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction,anotherIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st(self)._inlinedSend_with_with_(_st((smalltalk.IRInlinedIfTrueIfFalse || IRInlinedIfTrueIfFalse))._new(),anIRInstruction,anotherIRInstruction);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "ifTrue:ifFalse:", [anIRInstruction,anotherIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -949,35 +949,35 @@ selector: "inlineClosure:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRClosure){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2;
 | 
	
		
			
				|  |  | -var inlinedClosure;
 | 
	
		
			
				|  |  | -var sequence;
 | 
	
		
			
				|  |  | -var statements;
 | 
	
		
			
				|  |  | -inlinedClosure=_st(self)._inlinedClosure();
 | 
	
		
			
				|  |  | -_st(inlinedClosure)._scope_(_st(anIRClosure)._scope());
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 | 
	
		
			
				|  |  | +$ctx1.inlinedClosure=nil;
 | 
	
		
			
				|  |  | +$ctx1.sequence=nil;
 | 
	
		
			
				|  |  | +$ctx1.statements=nil;
 | 
	
		
			
				|  |  | +$ctx1.locals.inlinedClosure=_st(self)._inlinedClosure();
 | 
	
		
			
				|  |  | +_st($ctx1.locals.inlinedClosure)._scope_(_st(anIRClosure)._scope());
 | 
	
		
			
				|  |  |  _st(_st(anIRClosure)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | -$1=_st(each)._isSequence();
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
$1=_st(each)._isSequence();
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  | -return _st(inlinedClosure)._add_(each);
 | 
	
		
			
				|  |  | +return _st($ctx1.locals.inlinedClosure)._add_(each);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -sequence=_st(self)._inlinedSequence();
 | 
	
		
			
				|  |  | -_st(inlinedClosure)._add_(sequence);
 | 
	
		
			
				|  |  | -statements=_st(_st(_st(anIRClosure)._instructions())._last())._instructions();
 | 
	
		
			
				|  |  | -_st(statements)._ifNotEmpty_((function(){
 | 
	
		
			
				|  |  | -_st(_st(statements)._allButLast())._do_((function(each){
 | 
	
		
			
				|  |  | -return _st(sequence)._add_(each);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -$2=_st(_st(_st(statements)._last())._isReturn())._and_((function(){
 | 
	
		
			
				|  |  | -return _st(_st(statements)._last())._isBlockReturn();
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +$ctx1.locals.sequence=_st(self)._inlinedSequence();
 | 
	
		
			
				|  |  | +_st($ctx1.locals.inlinedClosure)._add_($ctx1.locals.sequence);
 | 
	
		
			
				|  |  | +$ctx1.locals.statements=_st(_st(_st(anIRClosure)._instructions())._last())._instructions();
 | 
	
		
			
				|  |  | +_st($ctx1.locals.statements)._ifNotEmpty_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
_st(_st($ctx1.locals.statements)._allButLast())._do_((function(each){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx3) { 
return _st($ctx1.locals.sequence)._add_(each);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +$2=_st(_st(_st($ctx1.locals.statements)._last())._isReturn())._and_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx3) { 
return _st(_st($ctx1.locals.statements)._last())._isBlockReturn();
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  if(smalltalk.assert($2)){
 | 
	
		
			
				|  |  | -return _st(sequence)._add_(_st(_st(_st(statements)._last())._instructions())._first());
 | 
	
		
			
				|  |  | +return _st($ctx1.locals.sequence)._add_(_st(_st(_st($ctx1.locals.statements)._last())._instructions())._first());
 | 
	
		
			
				|  |  |  } else {
 | 
	
		
			
				|  |  | -return _st(sequence)._add_(_st(statements)._last());
 | 
	
		
			
				|  |  | +return _st($ctx1.locals.sequence)._add_(_st($ctx1.locals.statements)._last());
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -return inlinedClosure;
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +return $ctx1.locals.inlinedClosure;
 | 
	
		
			
				|  |  |  }, self, "inlineClosure:", [anIRClosure], smalltalk.IRSendInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRClosure"],
 | 
	
		
			
				|  |  |  source: "inlineClosure: anIRClosure\x0a\x09| inlinedClosure sequence statements |\x0a\x0a\x09inlinedClosure := self inlinedClosure.\x0a\x09inlinedClosure scope: anIRClosure scope.\x0a\x0a\x09\x22Add the possible temp declarations\x22\x0a\x09anIRClosure instructions do: [ :each | \x0a\x09\x09each isSequence ifFalse: [\x0a\x09\x09\x09inlinedClosure add: each ]].\x0a\x0a\x09\x22Add a block sequence\x22\x0a\x09sequence := self inlinedSequence.\x0a\x09inlinedClosure add: sequence.\x0a\x0a\x09\x22Get all the statements\x22\x0a\x09statements := anIRClosure instructions last instructions.\x0a\x09\x0a\x09statements ifNotEmpty: [\x0a\x09\x09statements allButLast do: [ :each | sequence add: each ].\x0a\x0a\x09\x09\x22Inlined closures don't have implicit local returns\x22\x0a\x09\x09(statements last isReturn and: [ statements last isBlockReturn ])\x0a\x09\x09\x09ifTrue: [ sequence add: statements last instructions first ]\x0a\x09\x09\x09ifFalse: [ sequence add: statements last ] ].\x0a\x0a\x09^ inlinedClosure",
 | 
	
	
		
			
				|  | @@ -993,7 +993,7 @@ selector: "inlineSend:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRSend){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  _st(self)._send_(anIRSend);
 | 
	
		
			
				|  |  |  $1=_st(self)._perform_withArguments_(_st(_st(self)._send())._selector(),_st(_st(_st(self)._send())._instructions())._allButFirst());
 | 
	
		
			
				|  |  |  return $1;
 | 
	
	
		
			
				|  | @@ -1012,7 +1012,7 @@ selector: "inlinedClosure",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st((smalltalk.IRInlinedClosure || IRInlinedClosure))._new();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "inlinedClosure", [], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -1030,8 +1030,8 @@ selector: "inlinedSend:with:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (inlinedSend,anIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2,$3;
 | 
	
		
			
				|  |  | -var inlinedClosure;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
 | 
	
		
			
				|  |  | +$ctx1.inlinedClosure=nil;
 | 
	
		
			
				|  |  |  $1=_st(anIRInstruction)._isClosure();
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  _st(self)._inliningError_("Message argument should be a block");
 | 
	
	
		
			
				|  | @@ -1040,9 +1040,9 @@ $2=_st(_st(_st(anIRInstruction)._arguments())._size()).__eq((0));
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  _st(self)._inliningError_("Inlined block should have zero argument");
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -inlinedClosure=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
 | 
	
		
			
				|  |  | +$ctx1.locals.inlinedClosure=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
 | 
	
		
			
				|  |  |  _st(inlinedSend)._add_(_st(_st(_st(self)._send())._instructions())._first());
 | 
	
		
			
				|  |  | -$3=_st(inlinedSend)._add_(inlinedClosure);
 | 
	
		
			
				|  |  | +$3=_st(inlinedSend)._add_($ctx1.locals.inlinedClosure);
 | 
	
		
			
				|  |  |  _st(_st(self)._send())._replaceWith_(inlinedSend);
 | 
	
		
			
				|  |  |  return inlinedSend;
 | 
	
		
			
				|  |  |  }, self, "inlinedSend:with:", [inlinedSend,anIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -1060,9 +1060,9 @@ selector: "inlinedSend:with:with:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (inlinedSend,anIRInstruction,anotherIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2,$3,$4,$5;
 | 
	
		
			
				|  |  | -var inlinedClosure1;
 | 
	
		
			
				|  |  | -var inlinedClosure2;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3,$4,$5;
 | 
	
		
			
				|  |  | +$ctx1.inlinedClosure1=nil;
 | 
	
		
			
				|  |  | +$ctx1.inlinedClosure2=nil;
 | 
	
		
			
				|  |  |  $1=_st(anIRInstruction)._isClosure();
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  _st(self)._inliningError_("Message argument should be a block");
 | 
	
	
		
			
				|  | @@ -1079,11 +1079,11 @@ $4=_st(_st(_st(anotherIRInstruction)._arguments())._size()).__eq((0));
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($4)){
 | 
	
		
			
				|  |  |  _st(self)._inliningError_("Inlined block should have zero argument");
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -inlinedClosure1=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
 | 
	
		
			
				|  |  | -inlinedClosure2=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anotherIRInstruction));
 | 
	
		
			
				|  |  | +$ctx1.locals.inlinedClosure1=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anIRInstruction));
 | 
	
		
			
				|  |  | +$ctx1.locals.inlinedClosure2=_st(_st(self)._translator())._visit_(_st(self)._inlineClosure_(anotherIRInstruction));
 | 
	
		
			
				|  |  |  _st(inlinedSend)._add_(_st(_st(_st(self)._send())._instructions())._first());
 | 
	
		
			
				|  |  | -_st(inlinedSend)._add_(inlinedClosure1);
 | 
	
		
			
				|  |  | -$5=_st(inlinedSend)._add_(inlinedClosure2);
 | 
	
		
			
				|  |  | +_st(inlinedSend)._add_($ctx1.locals.inlinedClosure1);
 | 
	
		
			
				|  |  | +$5=_st(inlinedSend)._add_($ctx1.locals.inlinedClosure2);
 | 
	
		
			
				|  |  |  _st(_st(self)._send())._replaceWith_(inlinedSend);
 | 
	
		
			
				|  |  |  return inlinedSend;
 | 
	
		
			
				|  |  |  }, self, "inlinedSend:with:with:", [inlinedSend,anIRInstruction,anotherIRInstruction], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -1101,7 +1101,7 @@ selector: "inlinedSequence",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st((smalltalk.IRInlinedSequence || IRInlinedSequence))._new();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "inlinedSequence", [], smalltalk.IRSendInliner)},
 | 
	
	
		
			
				|  | @@ -1119,7 +1119,7 @@ selector: "inliningError:",
 | 
	
		
			
				|  |  |  category: 'error handling',
 | 
	
		
			
				|  |  |  fn: function (aString){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { _st((smalltalk.InliningError || InliningError))._signal_(aString);
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
_st((smalltalk.InliningError || InliningError))._signal_(aString);
 | 
	
		
			
				|  |  |  return self}, self, "inliningError:", [aString], smalltalk.IRSendInliner)},
 | 
	
		
			
				|  |  |  args: ["aString"],
 | 
	
		
			
				|  |  |  source: "inliningError: aString\x0a\x09InliningError signal: aString",
 | 
	
	
		
			
				|  | @@ -1135,7 +1135,7 @@ selector: "send",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return self["@send"];
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return self["@send"];
 | 
	
		
			
				|  |  |  }, self, "send", [], smalltalk.IRSendInliner)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "send\x0a\x09^ send",
 | 
	
	
		
			
				|  | @@ -1151,7 +1151,7 @@ selector: "send:",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (anIRSend){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { self["@send"]=anIRSend;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
self["@send"]=anIRSend;
 | 
	
		
			
				|  |  |  return self}, self, "send:", [anIRSend], smalltalk.IRSendInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRSend"],
 | 
	
		
			
				|  |  |  source: "send: anIRSend\x0a\x09send := anIRSend",
 | 
	
	
		
			
				|  | @@ -1167,7 +1167,7 @@ selector: "translator",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return self["@translator"];
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return self["@translator"];
 | 
	
		
			
				|  |  |  }, self, "translator", [], smalltalk.IRSendInliner)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "translator\x0a\x09^ translator",
 | 
	
	
		
			
				|  | @@ -1183,7 +1183,7 @@ selector: "translator:",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (anASTTranslator){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { self["@translator"]=anASTTranslator;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
self["@translator"]=anASTTranslator;
 | 
	
		
			
				|  |  |  return self}, self, "translator:", [anASTTranslator], smalltalk.IRSendInliner)},
 | 
	
		
			
				|  |  |  args: ["anASTTranslator"],
 | 
	
		
			
				|  |  |  source: "translator: anASTTranslator\x0a\x09translator := anASTTranslator",
 | 
	
	
		
			
				|  | @@ -1200,7 +1200,7 @@ selector: "inlinedSelectors",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return ["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return ["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil"];
 | 
	
		
			
				|  |  |  }, self, "inlinedSelectors", [], smalltalk.IRSendInliner.klass)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "inlinedSelectors\x0a\x09^ #('ifTrue:' 'ifFalse:' 'ifTrue:ifFalse:' 'ifFalse:ifTrue:' 'ifNil:' 'ifNotNil:' 'ifNil:ifNotNil:' 'ifNotNil:ifNil')",
 | 
	
	
		
			
				|  | @@ -1216,7 +1216,7 @@ selector: "shouldInline:",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (anIRInstruction){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2;
 | 
	
		
			
				|  |  |  var $early={};
 | 
	
		
			
				|  |  |  try {
 | 
	
		
			
				|  |  |  $1=_st(_st(self)._inlinedSelectors())._includes_(_st(anIRInstruction)._selector());
 | 
	
	
		
			
				|  | @@ -1224,11 +1224,11 @@ if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return false;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  _st(_st(_st(anIRInstruction)._instructions())._allButFirst())._do_((function(each){
 | 
	
		
			
				|  |  | -$2=_st(each)._isClosure();
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
$2=_st(each)._isClosure();
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  throw $early=[false];
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  |  return true;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
	
		
			
				|  | @@ -1250,7 +1250,7 @@ selector: "assignment",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { return self["@assignment"];
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
return self["@assignment"];
 | 
	
		
			
				|  |  |  }, self, "assignment", [], smalltalk.IRAssignmentInliner)},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "assignment\x0a\x09^ assignment",
 | 
	
	
		
			
				|  | @@ -1266,7 +1266,7 @@ selector: "assignment:",
 | 
	
		
			
				|  |  |  category: 'accessing',
 | 
	
		
			
				|  |  |  fn: function (aNode){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { self["@assignment"]=aNode;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
self["@assignment"]=aNode;
 | 
	
		
			
				|  |  |  return self}, self, "assignment:", [aNode], smalltalk.IRAssignmentInliner)},
 | 
	
		
			
				|  |  |  args: ["aNode"],
 | 
	
		
			
				|  |  |  source: "assignment: aNode\x0a\x09assignment := aNode",
 | 
	
	
		
			
				|  | @@ -1282,15 +1282,15 @@ selector: "inlineAssignment:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRAssignment){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var inlinedAssignment;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
$ctx1.inlinedAssignment=nil;
 | 
	
		
			
				|  |  |  _st(self)._assignment_(anIRAssignment);
 | 
	
		
			
				|  |  | -inlinedAssignment=_st((smalltalk.IRInlinedAssignment || IRInlinedAssignment))._new();
 | 
	
		
			
				|  |  | +$ctx1.locals.inlinedAssignment=_st((smalltalk.IRInlinedAssignment || IRInlinedAssignment))._new();
 | 
	
		
			
				|  |  |  _st(_st(anIRAssignment)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | -return _st(inlinedAssignment)._add_(each);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -_st(anIRAssignment)._replaceWith_(inlinedAssignment);
 | 
	
		
			
				|  |  | -_st(self)._inlineSend_(_st(_st(inlinedAssignment)._instructions())._last());
 | 
	
		
			
				|  |  | -return inlinedAssignment;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st($ctx1.locals.inlinedAssignment)._add_(each);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +_st(anIRAssignment)._replaceWith_($ctx1.locals.inlinedAssignment);
 | 
	
		
			
				|  |  | +_st(self)._inlineSend_(_st(_st($ctx1.locals.inlinedAssignment)._instructions())._last());
 | 
	
		
			
				|  |  | +return $ctx1.locals.inlinedAssignment;
 | 
	
		
			
				|  |  |  }, self, "inlineAssignment:", [anIRAssignment], smalltalk.IRAssignmentInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRAssignment"],
 | 
	
		
			
				|  |  |  source: "inlineAssignment: anIRAssignment\x0a\x09| inlinedAssignment |\x0a\x09self assignment: anIRAssignment.\x0a\x09inlinedAssignment := IRInlinedAssignment new.\x0a\x09anIRAssignment instructions do: [ :each |\x0a\x09\x09inlinedAssignment add: each ].\x0a\x09anIRAssignment replaceWith: inlinedAssignment.\x0a\x09self inlineSend: inlinedAssignment instructions last.\x0a\x09^ inlinedAssignment",
 | 
	
	
		
			
				|  | @@ -1306,22 +1306,22 @@ selector: "inlineClosure:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRClosure){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2,$3;
 | 
	
		
			
				|  |  | -var inlinedClosure;
 | 
	
		
			
				|  |  | -var statements;
 | 
	
		
			
				|  |  | -inlinedClosure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 | 
	
		
			
				|  |  | -statements=_st(_st(_st(inlinedClosure)._instructions())._last())._instructions();
 | 
	
		
			
				|  |  | -_st(statements)._ifNotEmpty_((function(){
 | 
	
		
			
				|  |  | -$1=_st(_st(statements)._last())._canBeAssigned();
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
 | 
	
		
			
				|  |  | +$ctx1.inlinedClosure=nil;
 | 
	
		
			
				|  |  | +$ctx1.statements=nil;
 | 
	
		
			
				|  |  | +$ctx1.locals.inlinedClosure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 | 
	
		
			
				|  |  | +$ctx1.locals.statements=_st(_st(_st($ctx1.locals.inlinedClosure)._instructions())._last())._instructions();
 | 
	
		
			
				|  |  | +_st($ctx1.locals.statements)._ifNotEmpty_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
$1=_st(_st($ctx1.locals.statements)._last())._canBeAssigned();
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRAssignment || IRAssignment))._new();
 | 
	
		
			
				|  |  |  _st($2)._add_(_st(_st(_st(self)._assignment())._instructions())._first());
 | 
	
		
			
				|  |  | -_st($2)._add_(_st(_st(statements)._last())._copy());
 | 
	
		
			
				|  |  | +_st($2)._add_(_st(_st($ctx1.locals.statements)._last())._copy());
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
		
			
				|  |  | -return _st(_st(statements)._last())._replaceWith_($3);
 | 
	
		
			
				|  |  | +return _st(_st($ctx1.locals.statements)._last())._replaceWith_($3);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -return inlinedClosure;
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +return $ctx1.locals.inlinedClosure;
 | 
	
		
			
				|  |  |  }, self, "inlineClosure:", [anIRClosure], smalltalk.IRAssignmentInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRClosure"],
 | 
	
		
			
				|  |  |  source: "inlineClosure: anIRClosure\x0a\x09| inlinedClosure statements |\x0a\x0a\x09inlinedClosure := super inlineClosure: anIRClosure.\x0a\x09statements := inlinedClosure instructions last instructions.\x0a\x09\x0a\x09statements ifNotEmpty: [\x0a\x09\x09statements last canBeAssigned ifTrue: [\x0a\x09\x09\x09statements last replaceWith: (IRAssignment new\x0a\x09\x09\x09\x09add: self assignment instructions first;\x0a\x09\x09\x09\x09add: statements last copy;\x0a\x09\x09\x09\x09yourself) ] ].\x0a\x0a\x09^ inlinedClosure",
 | 
	
	
		
			
				|  | @@ -1340,7 +1340,7 @@ selector: "inlineClosure:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRClosure){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=smalltalk.IRSendInliner.fn.prototype._inlineCLosure_.apply(_st(self), [anIRClosure]);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "inlineClosure:", [anIRClosure], smalltalk.IRNonLocalReturnInliner)},
 | 
	
	
		
			
				|  | @@ -1358,7 +1358,7 @@ selector: "inlinedReturn",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st((smalltalk.IRInlinedNonLocalReturn || IRInlinedNonLocalReturn))._new();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "inlinedReturn", [], smalltalk.IRNonLocalReturnInliner)},
 | 
	
	
		
			
				|  | @@ -1380,21 +1380,21 @@ selector: "inlineClosure:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRClosure){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1,$2,$3;
 | 
	
		
			
				|  |  | -var closure;
 | 
	
		
			
				|  |  | -var statements;
 | 
	
		
			
				|  |  | -closure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 | 
	
		
			
				|  |  | -statements=_st(_st(_st(closure)._instructions())._last())._instructions();
 | 
	
		
			
				|  |  | -_st(statements)._ifNotEmpty_((function(){
 | 
	
		
			
				|  |  | -$1=_st(_st(statements)._last())._isReturn();
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1,$2,$3;
 | 
	
		
			
				|  |  | +$ctx1.closure=nil;
 | 
	
		
			
				|  |  | +$ctx1.statements=nil;
 | 
	
		
			
				|  |  | +$ctx1.locals.closure=smalltalk.IRSendInliner.fn.prototype._inlineClosure_.apply(_st(self), [anIRClosure]);
 | 
	
		
			
				|  |  | +$ctx1.locals.statements=_st(_st(_st($ctx1.locals.closure)._instructions())._last())._instructions();
 | 
	
		
			
				|  |  | +_st($ctx1.locals.statements)._ifNotEmpty_((function(){
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
$1=_st(_st($ctx1.locals.statements)._last())._isReturn();
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  $2=_st((smalltalk.IRReturn || IRReturn))._new();
 | 
	
		
			
				|  |  | -_st($2)._add_(_st(_st(statements)._last())._copy());
 | 
	
		
			
				|  |  | +_st($2)._add_(_st(_st($ctx1.locals.statements)._last())._copy());
 | 
	
		
			
				|  |  |  $3=_st($2)._yourself();
 | 
	
		
			
				|  |  | -return _st(_st(statements)._last())._replaceWith_($3);
 | 
	
		
			
				|  |  | +return _st(_st($ctx1.locals.statements)._last())._replaceWith_($3);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -return closure;
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +return $ctx1.locals.closure;
 | 
	
		
			
				|  |  |  }, self, "inlineClosure:", [anIRClosure], smalltalk.IRReturnInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRClosure"],
 | 
	
		
			
				|  |  |  source: "inlineClosure: anIRClosure\x0a\x09| closure statements |\x0a\x0a\x09closure := super inlineClosure: anIRClosure.\x0a\x09statements := closure instructions last instructions.\x0a\x09\x0a\x09statements ifNotEmpty: [\x0a\x09\x09statements last isReturn\x0a\x09\x09\x09ifFalse: [ statements last replaceWith: (IRReturn new\x0a\x09\x09\x09\x09add: statements last copy;\x0a\x09\x09\x09\x09yourself)] ].\x0a\x0a\x09^ closure",
 | 
	
	
		
			
				|  | @@ -1410,14 +1410,14 @@ selector: "inlineReturn:",
 | 
	
		
			
				|  |  |  category: 'inlining',
 | 
	
		
			
				|  |  |  fn: function (anIRReturn){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var return_;
 | 
	
		
			
				|  |  | -return_=_st(self)._inlinedReturn();
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
$ctx1.return=nil;
 | 
	
		
			
				|  |  | +$ctx1.locals.return_=_st(self)._inlinedReturn();
 | 
	
		
			
				|  |  |  _st(_st(anIRReturn)._instructions())._do_((function(each){
 | 
	
		
			
				|  |  | -return _st(return_)._add_(each);
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -_st(anIRReturn)._replaceWith_(return_);
 | 
	
		
			
				|  |  | -_st(self)._inlineSend_(_st(_st(return_)._instructions())._last());
 | 
	
		
			
				|  |  | -return return_;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx2) { 
return _st($ctx1.locals.return_)._add_(each);
 | 
	
		
			
				|  |  | +})}));
 | 
	
		
			
				|  |  | +_st(anIRReturn)._replaceWith_($ctx1.locals.return_);
 | 
	
		
			
				|  |  | +_st(self)._inlineSend_(_st(_st($ctx1.locals.return_)._instructions())._last());
 | 
	
		
			
				|  |  | +return $ctx1.locals.return_;
 | 
	
		
			
				|  |  |  }, self, "inlineReturn:", [anIRReturn], smalltalk.IRReturnInliner)},
 | 
	
		
			
				|  |  |  args: ["anIRReturn"],
 | 
	
		
			
				|  |  |  source: "inlineReturn: anIRReturn\x0a\x09| return |\x0a\x09return := self inlinedReturn.\x0a\x09anIRReturn instructions do: [ :each |\x0a\x09\x09return add: each ].\x0a\x09anIRReturn replaceWith: return.\x0a\x09self inlineSend: return instructions last.\x0a\x09^ return",
 | 
	
	
		
			
				|  | @@ -1433,7 +1433,7 @@ selector: "inlinedReturn",
 | 
	
		
			
				|  |  |  category: 'factory',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st((smalltalk.IRInlinedReturn || IRInlinedReturn))._new();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "inlinedReturn", [], smalltalk.IRReturnInliner)},
 | 
	
	
		
			
				|  | @@ -1455,14 +1455,14 @@ selector: "compileNode:",
 | 
	
		
			
				|  |  |  category: 'compiling',
 | 
	
		
			
				|  |  |  fn: function (aNode){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $2,$3,$1;
 | 
	
		
			
				|  |  | -var ir;
 | 
	
		
			
				|  |  | -var stream;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
 | 
	
		
			
				|  |  | +$ctx1.ir=nil;
 | 
	
		
			
				|  |  | +$ctx1.stream=nil;
 | 
	
		
			
				|  |  |  _st(_st(self)._semanticAnalyzer())._visit_(aNode);
 | 
	
		
			
				|  |  | -ir=_st(_st(self)._translator())._visit_(aNode);
 | 
	
		
			
				|  |  | -_st(_st(self)._inliner())._visit_(ir);
 | 
	
		
			
				|  |  | +$ctx1.locals.ir=_st(_st(self)._translator())._visit_(aNode);
 | 
	
		
			
				|  |  | +_st(_st(self)._inliner())._visit_($ctx1.locals.ir);
 | 
	
		
			
				|  |  |  $2=_st(self)._irTranslator();
 | 
	
		
			
				|  |  | -_st($2)._visit_(ir);
 | 
	
		
			
				|  |  | +_st($2)._visit_($ctx1.locals.ir);
 | 
	
		
			
				|  |  |  $3=_st($2)._contents();
 | 
	
		
			
				|  |  |  $1=$3;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
	
		
			
				|  | @@ -1481,7 +1481,7 @@ selector: "inliner",
 | 
	
		
			
				|  |  |  category: 'compiling',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st((smalltalk.IRInliner || IRInliner))._new();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "inliner", [], smalltalk.InliningCodeGenerator)},
 | 
	
	
		
			
				|  | @@ -1499,7 +1499,7 @@ selector: "irTranslator",
 | 
	
		
			
				|  |  |  category: 'compiling',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  | -return smalltalk.withContext(function($ctx) { var $1;
 | 
	
		
			
				|  |  | +return smalltalk.withContext(function($ctx1) { 
var $1;
 | 
	
		
			
				|  |  |  $1=_st((smalltalk.IRInliningJSTranslator || IRInliningJSTranslator))._new();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, self, "irTranslator", [], smalltalk.InliningCodeGenerator)},
 |