The Trunk: Compiler-nice.93.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Compiler-nice.93.mcz

commits-2
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.93.mcz

==================== Summary ====================

Name: Compiler-nice.93
Author: nice
Time: 23 October 2009, 11:57:51 am
UUID: 27c49fc6-0091-4311-988d-aedff3653a8f
Ancestors: Compiler-jcg.92

Fix a test I broke : the test now needs (keys asSet)

=============== Diff against Compiler-jcg.92 ===============

Item was changed:
  ----- Method: DecompilerTests>>decompileClassesSelect: (in category 'utilities') -----
  decompileClassesSelect: aBlock
 
  (Smalltalk classNames select: aBlock) do:
  [:cn | | cls |
  cls := Smalltalk at: cn.
  Smalltalk garbageCollect.
  Transcript cr; show: cn.
+ cls selectorsDo:
- cls selectors do:
  [:selector | | methodNode oldMethod newMethod oldCodeString newCodeString |
  (self isFailure: cls sel: selector) ifFalse:
  [" to help making progress
  (self
  isStoredProblems: cls theNonMetaClass
  sel: selector
  meta: cls isMeta)
  ifFalse: [ "
  Transcript nextPut: $.; flush.
  self checkDecompileMethod: (cls compiledMethodAt: selector)]]]!

Item was changed:
  ----- Method: ClosureCompilerTest>>testMethodAndNodeTempNames (in category 'tests') -----
  testMethodAndNodeTempNames
  "self new testMethodAndNodeTempNames"
  "Test that BytecodeAgnosticMethodNode>>blockExtentsToTempRefs answers the same
  structure as CompiledMethod>>blockExtentsToTempRefs when the method has been
  copied with the appropriate temps.  This tests whether doit methods are debuggable
  since they carry their own temps."
  self closureCases do:
  [:source| | mn om m mbe obe |
  mn := source first isLetter
  ifTrue:
  [self class compilerClass new
  compile: source
  in: self class
  notifying: nil
  ifFail: [self error: 'compilation error']]
  ifFalse:
  [self class compilerClass new
  compileNoPattern: source
  in: self class
  context: nil
  notifying: nil
  ifFail: [self error: 'compilation error']].
  m := (om := mn generate: #(0 0 0 0)) copyWithTempsFromMethodNode: mn.
  self assert: m holdsTempNames.
  self assert: m endPC = om endPC.
  mbe := m blockExtentsToTempsMap.
  obe := mn blockExtentsToTempsMap.
+ self assert: mbe keys asSet = obe keys asSet.
- self assert: mbe keys = obe keys.
  (mbe keys intersection: obe keys) do:
  [:interval|
  self assert: (mbe at: interval) = (obe at: interval)]]!