diff options
author | Paul Phillips <paulp@improving.org> | 2012-11-29 17:40:38 +0100 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-12-27 15:47:24 -0800 |
commit | c53359ecbe135e79d55a6806209a6301bb386ada (patch) | |
tree | 1a8178c5e655b80055fab6e87cc6eea78ddf9133 | |
parent | 3f9943be7ad9de6a3443befaec1613682dbd0129 (diff) | |
download | scala-c53359ecbe135e79d55a6806209a6301bb386ada.tar.gz scala-c53359ecbe135e79d55a6806209a6301bb386ada.tar.bz2 scala-c53359ecbe135e79d55a6806209a6301bb386ada.zip |
Eliminate allocations in ClassfileParser.
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index cb58111b51..04e860f9db 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -1225,16 +1225,20 @@ abstract class ClassfileParser { } def skipAttributes() { - val attrCount = in.nextChar - for (i <- 0 until attrCount) { - in.skip(2); in.skip(in.nextInt) + var attrCount: Int = in.nextChar + while (attrCount > 0) { + in skip 2 + in skip in.nextInt + attrCount -= 1 } } def skipMembers() { - val memberCount = in.nextChar - for (i <- 0 until memberCount) { - in.skip(6); skipAttributes() + var memberCount: Int = in.nextChar + while (memberCount > 0) { + in skip 6 + skipAttributes() + memberCount -= 1 } } |