nice-commit Mailing List for The Nice Programming Language (Page 118)
Brought to you by:
bonniot
You can subscribe to this list here.
2003 |
Jan
|
Feb
(60) |
Mar
(125) |
Apr
(183) |
May
(140) |
Jun
(227) |
Jul
(141) |
Aug
(181) |
Sep
(75) |
Oct
(89) |
Nov
(187) |
Dec
(162) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(69) |
Feb
(197) |
Mar
(98) |
Apr
(26) |
May
(10) |
Jun
(85) |
Jul
(88) |
Aug
(79) |
Sep
(80) |
Oct
(81) |
Nov
(53) |
Dec
(109) |
2005 |
Jan
(68) |
Feb
(77) |
Mar
(232) |
Apr
(79) |
May
(37) |
Jun
(37) |
Jul
(3) |
Aug
(18) |
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
(10) |
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(9) |
2007 |
Jan
(2) |
Feb
(8) |
Mar
(2) |
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
(17) |
Dec
(6) |
2008 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <bo...@us...> - 2003-04-15 16:05:32
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv25469/src/bossa/syntax Modified Files: JavaClasses.java Log Message: Catch invalid class format errors and report them as warnings instead of failing. Index: JavaClasses.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/JavaClasses.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** JavaClasses.java 12 Feb 2003 16:13:53 -0000 1.32 --- JavaClasses.java 15 Apr 2003 16:05:27 -0000 1.33 *************** *** 305,308 **** --- 305,312 ---- "\nYou probably need to install the corresponding package."); } + catch (ClassFormatError e) { + User.warning("Class " + classType.getName() + + " has an invalid bytecode format"); + } for (Field f = classType.getFields(); f != null; f = f.getNext()) |
From: <bo...@us...> - 2003-04-15 16:02:14
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv24158 Modified Files: Makefile Log Message: Make the java binary a variable. Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/Makefile,v retrieving revision 1.113 retrieving revision 1.114 diff -C2 -d -r1.113 -r1.114 *** Makefile 8 Apr 2003 18:11:11 -0000 1.113 --- Makefile 15 Apr 2003 16:02:09 -0000 1.114 *************** *** 14,29 **** TOP=${PWD} javac = javac - #javac = jikes-classpath JAVAC_FLAGS = -O -g JAVAC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src:${TOP}/stdlib" -d "${TOP}/classes" $(JAVAC_FLAGS) ! JAVACC= CLASSPATH="${TOP}/external/JavaCC.zip:${CLASSPATH}" java COM.sun.labs.javacc.Main JAVADOC=javadoc NICEC_ARGS= --exclude-runtime ! NICEC=CLASSPATH="${TOP}/classes" nicec ${NICEC_ARGS} -d "${TOP}/classes.old" --sourcepath="${TOP}/stdlib.old:${TOP}/stdlib:${TOP}/src.old:${TOP}/src" --classpath="${TOP}/classes" ! NICEC1=${TOP}/bin/nicec ${NICEC_ARGS} -d "${TOP}/classes" --sourcepath="${TOP}/stdlib:${TOP}/src" --- 14,29 ---- TOP=${PWD} + java = java javac = javac JAVAC_FLAGS = -O -g JAVAC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src:${TOP}/stdlib" -d "${TOP}/classes" $(JAVAC_FLAGS) ! JAVACC= CLASSPATH="${TOP}/external/JavaCC.zip:${CLASSPATH}" ${java} COM.sun.labs.javacc.Main JAVADOC=javadoc NICEC_ARGS= --exclude-runtime ! NICEC=CLASSPATH="${TOP}/classes" JAVA="${java}" nicec ${NICEC_ARGS} -d "${TOP}/classes.old" --sourcepath="${TOP}/stdlib.old:${TOP}/stdlib:${TOP}/src.old:${TOP}/src" --classpath="${TOP}/classes" ! NICEC1=JAVA="${java}" ${TOP}/bin/nicec ${NICEC_ARGS} -d "${TOP}/classes" --sourcepath="${TOP}/stdlib:${TOP}/src" *************** *** 74,81 **** test: ! cd regtest; /usr/bin/time ./regtest check: ! /usr/bin/time java -Dassertions=true -classpath "classes" nice.tools.testsuite.TestNice testsuite .PHONY: coverage --- 74,81 ---- test: ! cd regtest; JAVA="${java}" /usr/bin/time ./regtest check: ! /usr/bin/time ${java} -Dassertions=true -classpath "classes" nice.tools.testsuite.TestNice testsuite .PHONY: coverage |
From: <bo...@us...> - 2003-04-15 15:49:41
|
Update of /cvsroot/nice/Nice/web In directory sc8-pr-cvs1:/tmp/cvs-serv18102/web Modified Files: .htaccess Log Message: Release 0.7.8 Index: .htaccess =================================================================== RCS file: /cvsroot/nice/Nice/web/.htaccess,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** .htaccess 6 Mar 2003 12:30:19 -0000 1.6 --- .htaccess 15 Apr 2003 15:49:36 -0000 1.7 *************** *** 1,5 **** Redirect /Wiki http://nice.sourceforge.net/cgi-bin/twiki/view ! Redirect /Nice.tar http://prdownloads.sourceforge.net/nice/Nice-0.7.7.tar ! Redirect /Nice.zip http://prdownloads.sourceforge.net/nice/Nice-0.7.7-windows.zip ! Redirect /nice.deb http://prdownloads.sourceforge.net/nice/nice_0.7.7_all.deb ! Redirect /nice.rpm http://prdownloads.sourceforge.net/nice/Nice-0.7.7-1.noarch.rpm --- 1,5 ---- Redirect /Wiki http://nice.sourceforge.net/cgi-bin/twiki/view ! Redirect /Nice.tar http://prdownloads.sourceforge.net/nice/Nice-0.7.8.tar ! Redirect /Nice.zip http://prdownloads.sourceforge.net/nice/Nice-0.7.8-windows.zip ! Redirect /nice.deb http://prdownloads.sourceforge.net/nice/nice_0.7.8_all.deb ! Redirect /nice.rpm http://prdownloads.sourceforge.net/nice/Nice-0.7.8-1.noarch.rpm |
From: <bo...@us...> - 2003-04-08 23:51:18
|
Update of /cvsroot/nice/Nice/coverage In directory sc8-pr-cvs1:/tmp/cvs-serv8265/coverage Added Files: .cvsignore Log Message: Cvsignore for coverage --- NEW FILE: .cvsignore --- *.cvg bin iclass.map instrumented.jar instrumented.jar.gjbak instrumented.map report share testsuite-fail-folder testsuite-temp-folder |
From: <bo...@us...> - 2003-04-08 23:49:27
|
Update of /cvsroot/nice/Nice/coverage In directory sc8-pr-cvs1:/tmp/cvs-serv7668/coverage Modified Files: Makefile Log Message: Updated to GJTK 2.2.8 Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/coverage/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 27 Dec 2002 19:29:35 -0000 1.1 --- Makefile 8 Apr 2003 23:49:24 -0000 1.2 *************** *** 1,10 **** TOP=${PWD} all: report instrumented.jar: ../share/java/nice.jar ! cp ../share/java/nice.jar /tmp/instrumented.jar ! ijar -file /tmp/instrumented.jar -cvg $(TOP) -branch 'nice.**' 'bossa.**' -none nice.tools.compiler.fun nice.getopt.dispatch 'nice.tools.compiler.fun\$$compile' nice.lang.fun 'nice.doc.fun\$$printMan' nice.getopt.fun nice.tools.ast.fun 'nice.getopt.fun\$$parse' nice.tools.compiler.fun ! mv /tmp/instrumented.jar . tests: --- 1,10 ---- TOP=${PWD} + GJTK=/usr/local/opt/gjtk/bin all: report instrumented.jar: ../share/java/nice.jar ! cp ../share/java/nice.jar instrumented.jar ! ${GJTK}/ijar -file instrumented.jar -cvg $(TOP) -branch 'nice.**' 'bossa.**' 'mlsub.**' -none nice.tools.compiler.fun nice.getopt.dispatch 'nice.tools.compiler.fun\$$compile' nice.lang.fun 'nice.doc.fun\$$printMan' nice.getopt.fun nice.tools.ast.fun 'nice.getopt.fun\$$parse' nice.tools.compiler.fun 'mlsub.compilation.**' tests: *************** *** 22,25 **** cd ../regtest; CLASSPATH=$(TOP)/instrumented.jar NICE_TOP=$(TOP) ./regtest report: tests ! CLASSPATH=instrumented.jar gjreport -source ../src:../stdlib -html report -method --- 22,26 ---- cd ../regtest; CLASSPATH=$(TOP)/instrumented.jar NICE_TOP=$(TOP) ./regtest + .PHONY: report report: tests ! CLASSPATH=instrumented.jar ${GJTK}/gjreport -source ../src:../stdlib -html report -method |
From: <bo...@us...> - 2003-04-08 19:16:50
|
Update of /cvsroot/nice/Nice/debian In directory sc8-pr-cvs1:/tmp/cvs-serv13297/debian Modified Files: changelog Log Message: Closed 0.7.8 Index: changelog =================================================================== RCS file: /cvsroot/nice/Nice/debian/changelog,v retrieving revision 1.146 retrieving revision 1.147 diff -C2 -d -r1.146 -r1.147 *** changelog 29 Mar 2003 19:26:24 -0000 1.146 --- changelog 8 Apr 2003 19:16:44 -0000 1.147 *************** *** 2,9 **** * Some error messages are more usefull. ! * All operators are inlined and some operators(&&, ||, ! and comparisons) and if-statements generate better bytecode now. ! * Improved bytecode generation of pre\post-condition. ! * Implemented the enhanced for loop(similar to java 1.5 proposal). The loop works on arrays and collections, example: int[] arr = [1,2,3,4,5]; --- 2,9 ---- * Some error messages are more usefull. ! * All operators are inlined and some operators (&&, ||, ! and comparisons) and if-statements generate better bytecode now. ! * Improved bytecode generation of pre/post-condition. ! * Implemented the enhanced for loop (similar to java 1.5 proposal). The loop works on arrays and collections, example: int[] arr = [1,2,3,4,5]; *************** *** 16,20 **** functions returning void are expected. * Allow ?(T[]) syntax for optional arrays, as an alternative to T[?]. ! * Allow // comments at then end of a file, without a trailing newline. Also report more nicely /* comments that are not closed. * Allow nested tuples on the left side of a tuple assignment: --- 16,20 ---- functions returning void are expected. * Allow ?(T[]) syntax for optional arrays, as an alternative to T[?]. ! * Allow // comments at the end of a file, without a trailing newline. Also report more nicely /* comments that are not closed. * Allow nested tuples on the left side of a tuple assignment: *************** *** 22,26 **** * Bugfixes (solved problems with case insentive filenames, ...). ! -- nice (0.7.7) unstable; urgency=low --- 22,26 ---- * Bugfixes (solved problems with case insentive filenames, ...). ! -- Daniel Bonniot <bo...@us...> Tue, 8 Apr 2003 21:03:43 +0200 nice (0.7.7) unstable; urgency=low |
From: <bo...@us...> - 2003-04-08 19:16:21
|
Update of /cvsroot/nice/Nice/testsuite/compiler/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv13158/testsuite/compiler/syntax Added Files: package.testsuite Log Message: Test that a package can be empty. --- NEW FILE: package.testsuite --- /// PASS /// Toplevel // This is an empty package. // Note: to really test this, the testsuite should not produce any // code for this case (like the empty main). |
From: <bo...@us...> - 2003-04-08 18:46:12
|
Update of /cvsroot/nice/Nice/testsuite/compiler/abstractInterfaces In directory sc8-pr-cvs1:/tmp/cvs-serv32176/testsuite/compiler/abstractInterfaces Added Files: classTypeParameter.testsuite Log Message: It should be possible to constrain class type parameters to implement abstract interfaces. --- NEW FILE: classTypeParameter.testsuite --- /// PASS bug /// Toplevel abstract interface I {} class A1<I T> {} class A2<T | T : I> {} |
From: <bo...@us...> - 2003-04-08 18:11:19
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv12644 Modified Files: Makefile Log Message: Getopt is now implemented in Nice. Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/Makefile,v retrieving revision 1.112 retrieving revision 1.113 diff -C2 -d -r1.112 -r1.113 *** Makefile 2 Apr 2003 22:59:58 -0000 1.112 --- Makefile 8 Apr 2003 18:11:11 -0000 1.113 *************** *** 79,82 **** --- 79,83 ---- /usr/bin/time java -Dassertions=true -classpath "classes" nice.tools.testsuite.TestNice testsuite + .PHONY: coverage coverage: share/java/nice.jar $(MAKE) -C coverage all *************** *** 125,129 **** ln -sf nicec bin/nicer mkdir -p classes - cd classes; jar xf ../external/java-getopt.jar gnu cd classes; jar xf ../external/gj.jar java -cd src/bossa/syntax && mv -f dispatch.java.bootstrap dispatch.java --- 126,129 ---- |
From: <bo...@us...> - 2003-04-08 18:11:17
|
Update of /cvsroot/nice/Nice/external In directory sc8-pr-cvs1:/tmp/cvs-serv12644/external Removed Files: java-getopt.jar Log Message: Getopt is now implemented in Nice. --- java-getopt.jar DELETED --- |
From: <bo...@us...> - 2003-04-08 13:57:52
|
Update of /cvsroot/nice/Nice/testsuite/compiler/expressions/operators In directory sc8-pr-cvs1:/tmp/cvs-serv19425/testsuite/compiler/expressions/operators Modified Files: comparison.testsuite Log Message: Multiple comparison are now correctly forced to point to the same direction. Index: comparison.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/expressions/operators/comparison.testsuite,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** comparison.testsuite 2 Apr 2003 16:58:52 -0000 1.2 --- comparison.testsuite 8 Apr 2003 13:57:47 -0000 1.3 *************** *** 8,12 **** assert ! (0 < 2 < 1); ! /// FAIL bug boolean b = 1 > 0 < 2; --- 8,12 ---- assert ! (0 < 2 < 1); ! /// FAIL boolean b = 1 > 0 < 2; |
From: <bo...@us...> - 2003-04-08 13:56:25
|
Update of /cvsroot/nice/Nice/src/nice/tools/testsuite In directory sc8-pr-cvs1:/tmp/cvs-serv18718/src/nice/tools/testsuite Modified Files: TestCase.java Log Message: Print the source of fixed known bugs, so we can identify them easily, and remove the known bug marker. Index: TestCase.java =================================================================== RCS file: /cvsroot/nice/Nice/src/nice/tools/testsuite/TestCase.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** TestCase.java 17 Mar 2003 22:48:56 -0000 1.20 --- TestCase.java 8 Apr 2003 13:56:21 -0000 1.21 *************** *** 384,389 **** */ public void pass() { ! if (isKnownBug) TestNice.increaseFixed(); else TestNice.increaseSucceeded(); --- 384,392 ---- */ public void pass() { ! if (isKnownBug) { TestNice.increaseFixed(); + printSources(); + TestNice.getOutput().logAndFlush("The above known bug is now FIXED!"); + } else TestNice.increaseSucceeded(); |
From: <ar...@us...> - 2003-04-07 20:35:37
|
Update of /cvsroot/nice/Nice/src/bossa/util In directory sc8-pr-cvs1:/tmp/cvs-serv30723/F:/nice/src/bossa/util Modified Files: User.java UserError.java Log Message: Empty line between errormessages/warnings. Index: User.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/util/User.java,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** User.java 28 Jan 2002 20:36:54 -0000 1.28 --- User.java 7 Apr 2003 20:35:32 -0000 1.29 *************** *** 72,76 **** nice.tools.compiler.OutputMessages.warning ! ((responsible == null ? "" : responsible.location().toString() + ": ") + "Warning:\n" + message); } --- 72,76 ---- nice.tools.compiler.OutputMessages.warning ! ("\n"+(responsible == null ? "" : responsible.location().toString() + ": ") + "Warning:\n" + message); } Index: UserError.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/util/UserError.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** UserError.java 20 Feb 2003 14:58:38 -0000 1.6 --- UserError.java 7 Apr 2003 20:35:33 -0000 1.7 *************** *** 50,56 **** { if (location == null) ! return message; else ! return location + ":\n" + message; } --- 50,56 ---- { if (location == null) ! return "\n"+message; else ! return "\n"+location + ":\n" + message; } |
From: <ar...@us...> - 2003-04-06 20:46:09
|
Update of /cvsroot/nice/Nice/src/bossa/parser In directory sc8-pr-cvs1:/tmp/cvs-serv24532/F:/nice/src/bossa/parser Modified Files: Parser.jj Log Message: Restrict multiple comparisons to point in the same direction. Index: Parser.jj =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/parser/Parser.jj,v retrieving revision 1.152 retrieving revision 1.153 diff -C2 -d -r1.152 -r1.153 *** Parser.jj 23 Mar 2003 23:40:38 -0000 1.152 --- Parser.jj 6 Apr 2003 20:45:57 -0000 1.153 *************** *** 1901,1911 **** { e1=ShiftExpression() ! ( (t="<"|t=">"|t="<="|t=">=") e2=ShiftExpression() ! { ! if(e3 == null) e1=CallExp.create(symb(t),e1,e2); ! else e1=CallExp.create(symb("&&",t),e1,CallExp.create(symb(t),e3,e2)); ! e3 = e2; ! } ! )* { return e1; } } --- 1901,1922 ---- { e1=ShiftExpression() ! [ ( ! ( (t=">"|t=">=") e2=ShiftExpression() ! { ! if(e3 == null) e1=CallExp.create(symb(t),e1,e2); ! else e1=CallExp.create(symb("&&",t),e1,CallExp.create(symb(t),e3,e2)); ! e3 = e2; ! } ! )+ ! | ! ( (t="<"|t="<=") e2=ShiftExpression() ! { ! if(e3 == null) e1=CallExp.create(symb(t),e1,e2); ! else e1=CallExp.create(symb("&&",t),e1,CallExp.create(symb(t),e3,e2)); ! e3 = e2; ! } ! )+ ! ) ! ] { return e1; } } |
From: <ar...@us...> - 2003-04-06 19:00:22
|
Update of /cvsroot/nice/Nice/src/mlsub/typing/lowlevel In directory sc8-pr-cvs1:/tmp/cvs-serv9839/F:/nice/src/mlsub/typing/lowlevel Modified Files: BitMatrix.java BitVector.java Log Message: Some little optimizations also reduces memory usage. Index: BitMatrix.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/BitMatrix.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** BitMatrix.java 28 Jan 2003 10:21:28 -0000 1.7 --- BitMatrix.java 6 Apr 2003 19:00:17 -0000 1.8 *************** *** 330,334 **** BitVector row = v[i]; if (row != null) { ! v[i] = (BitVector) row.clone(); } } --- 330,337 ---- BitVector row = v[i]; if (row != null) { ! if (!row.isEmpty()) ! v[i] = (BitVector) row.clone(); ! else ! v[i] = null; } } Index: BitVector.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/BitVector.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BitVector.java 28 Jan 2003 10:21:27 -0000 1.4 --- BitVector.java 6 Apr 2003 19:00:18 -0000 1.5 *************** *** 359,365 **** n = bits2length; } ! int bits3length = S3.length(); ! for (int i = 0; i < n; i++) { ! andW(i, ~(S1.getW(i) & S2.getW(i)) | (i < bits3length ? S3.getW(i) : 0L)); } } --- 359,379 ---- n = bits2length; } ! ! if (n<=1) ! { ! andW(0, ~(S1.getW(0) & S2.getW(0)) | S3.getW(0)); ! } ! else ! { ! int bits3length = S3.length(); ! if (bits3length > n) { ! bits3length = n; ! } ! ! for (int i = 0; i < bits3length; i++) ! bits1[i] &= ~(S1.bits1[i] & S2.bits1[i]) | S3.getW(i); ! ! for (int i = bits3length; i < n; i++) ! bits1[i] &= ~(S1.bits1[i] & S2.bits1[i]); } } *************** *** 373,381 **** } int setLength = set.nonZeroLength(); ! if (setLength > 0) { ! ensureCapacity(bitIndex(setLength-1));// this might cause some problem... } ! for (int i = setLength; i-- > 0 ;) { ! orW(i, set.getW(i)); } } --- 387,399 ---- } int setLength = set.nonZeroLength(); ! if (setLength > 1) { ! ensureCapacity(bitIndex(setLength-1)); ! for (int i = setLength; i-- > 0 ;) { ! bits1[i] |= set.bits1[i]; ! } } ! else ! { ! orW(0, set.getW(0)); } } *************** *** 423,426 **** --- 441,445 ---- /* * If there are some trailing zeros, don't count them + * result is greater or equal to 1 */ private int nonZeroLength() { *************** *** 429,433 **** int n = bits1.length; ! while (n > 0 && bits1[n-1] == 0L) { n--; } return n; } --- 448,452 ---- int n = bits1.length; ! while (n > 1 && bits1[n-1] == 0L) { n--; } return n; } *************** *** 520,527 **** else { ! // optim: shrink to nonZeroLength()? ! int n = length(); ! result.bits1 = new long[n]; ! System.arraycopy(bits1, 0, result.bits1, 0, n); } return result; --- 539,552 ---- else { ! int n = nonZeroLength(); ! if (n <= 1) ! { ! result.bits0 = bits1[0]; ! } ! else ! { ! result.bits1 = new long[n]; ! System.arraycopy(bits1, 0, result.bits1, 0, n); ! } } return result; *************** *** 591,606 **** static /* XXX: work around Symantec JIT bug: comment static */ int chunkLowestSetBit(long chunk) { ! if (chunk == 0L) { ! return 64; ! } else { ! int bit = 0; ! if ((chunk & 0xffffffffL) == 0) { bit += 32; chunk >>>= 32; } ! if ((chunk & 0xffffL) == 0) { bit += 16; chunk >>>= 16; } ! if ((chunk & 0xffL) == 0) { bit += 8; chunk >>>= 8; } ! if ((chunk & 0xfL) == 0) { bit += 4; chunk >>>= 4; } ! if ((chunk & 0x3L) == 0) { bit += 2; chunk >>>= 2; } ! if ((chunk & 0x1L) == 0) { bit++; } ! return bit; ! } } --- 616,628 ---- static /* XXX: work around Symantec JIT bug: comment static */ int chunkLowestSetBit(long chunk) { ! int bit = 0; ! chunk &= -chunk; //fix sign bit ! if ((chunk & 0xffffffff00000000L) != 0 ) bit += 32; ! if ((chunk & 0xffff0000ffff0000L) != 0 ) bit += 16; ! if ((chunk & 0xff00ff00ff00ff00L) != 0 ) bit += 8; ! if ((chunk & 0xf0f0f0f0f0f0f0f0L) != 0 ) bit += 4; ! if ((chunk & 0xccccccccccccccccL) != 0 ) bit += 2; ! if ((chunk & 0xaaaaaaaaaaaaaaaaL) != 0 ) bit += 1; ! return bit; } *************** *** 612,620 **** **/ final public int getLowestSetBit() { ! int n = length(); ! for (int i = 0; i < n; i++) { ! long chunk = getW(i); ! if (chunk != 0L) { ! return (i << BITS_PER_UNIT) + chunkLowestSetBit(chunk); } } --- 634,649 ---- **/ final public int getLowestSetBit() { ! if (bits1 == null) ! { ! if (bits0 != 0L) ! return chunkLowestSetBit(bits0); ! } ! else ! { ! int n = bits1.length; ! for (int i = 0; i < n; i++) { ! long chunk = bits1[i]; ! if (chunk != 0L) ! return (i << BITS_PER_UNIT) + chunkLowestSetBit(chunk); } } *************** *** 658,662 **** return UNDEFINED_INDEX; } ! chunk = getW(i); } } --- 687,691 ---- return UNDEFINED_INDEX; } ! chunk = bits1[i]; } } *************** *** 668,677 **** **/ public int getNextBit(int i) { ! int result = getLowestSetBit(i + 1); ! if (result < 0) { ! return UNDEFINED_INDEX; ! } else { ! return result; ! } } --- 697,701 ---- **/ public int getNextBit(int i) { ! return getLowestSetBit(i + 1); } *************** *** 815,826 **** final public void truncate(int newSize) { int i = subscript(newSize); ! int bitsLength = length(); ! if (i < bitsLength) { andW(i, (1L << (newSize & MASK)) - 1); ! for (i++; i < bitsLength; i++) { ! bits1[i] = 0L; ! } } - // XXX: should shrink the vector to lower memory usage ? } --- 839,860 ---- final public void truncate(int newSize) { int i = subscript(newSize); ! if (bits1 == null) ! { ! if (i == 0) ! bits0 &= (1L << (newSize & MASK)) - 1; ! return; ! } ! int bitsLength = nonZeroLength(); ! if (i < bitsLength) andW(i, (1L << (newSize & MASK)) - 1); ! ! int newlength = Math.min(bitsLength, i+1); ! ! if (newlength < bits1.length) ! { ! long[] newBits = new long[newlength]; ! System.arraycopy(bits1, 0, newBits, 0, newlength); ! bits1 = newBits; } } |
From: <bo...@us...> - 2003-04-05 11:32:27
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv4184/src/bossa/syntax Modified Files: typecheck.nice analyse.nice Log Message: Use the new syntax for null patterns. Index: typecheck.nice =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/typecheck.nice,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** typecheck.nice 14 Mar 2003 19:44:51 -0000 1.56 --- typecheck.nice 5 Apr 2003 11:32:23 -0000 1.57 *************** *** 28,32 **** ****************************************************************/ ! typecheck(@null(Expression)) {} typecheck(e@AssignExp) --- 28,32 ---- ****************************************************************/ ! typecheck(null(Expression)) {} typecheck(e@AssignExp) *************** *** 516,520 **** ****************************************************************/ ! typecheck(@null(Statement)) {} typecheck(b@Block) --- 516,520 ---- ****************************************************************/ ! typecheck(null(Statement)) {} typecheck(b@Block) Index: analyse.nice =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/analyse.nice,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** analyse.nice 13 Mar 2003 23:19:41 -0000 1.57 --- analyse.nice 5 Apr 2003 11:32:24 -0000 1.58 *************** *** 206,210 **** analyse(e@Expression, i) = e; ! analyse(@null(Expression), info) = null; void setInitialized (Block.LocalVariable.Symbol v, Info info) --- 206,210 ---- analyse(e@Expression, i) = e; ! analyse(null(Expression), info) = null; void setInitialized (Block.LocalVariable.Symbol v, Info info) *************** *** 530,534 **** analyse(s@Statement, info) {} ! analyse(s@null(Statement), info) {} analyse(decl@Block.LocalVariable, info) --- 530,534 ---- analyse(s@Statement, info) {} ! analyse(null(Statement), info) {} analyse(decl@Block.LocalVariable, info) |
From: <bo...@us...> - 2003-04-05 11:28:56
|
Update of /cvsroot/nice/Nice/testsuite/compiler/classes In directory sc8-pr-cvs1:/tmp/cvs-serv3070/testsuite/compiler/classes Added Files: variance.testsuite Log Message: Classes with contra-variant type parameters should check that their fields do not use them in co-variant position. --- NEW FILE: variance.testsuite --- /// FAIL bug /// Toplevel interface X{} interface Y extends X{ boolean foo(); } class A implements X{} class B<-T>{ T param; } public void main(String[] args){ B<X> b1 = new B(param: new A()); B<Y> b2 = b1; b2.param.foo(); } |
From: <bo...@us...> - 2003-04-05 11:13:22
|
Update of /cvsroot/nice/Nice/src/mlsub/typing/lowlevel In directory sc8-pr-cvs1:/tmp/cvs-serv29714/src/mlsub/typing/lowlevel Modified Files: K0.java Log Message: Typo. Index: K0.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/K0.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** K0.java 28 Jan 2003 10:21:27 -0000 1.14 --- K0.java 5 Apr 2003 11:13:18 -0000 1.15 *************** *** 519,523 **** /** * Enter the initial assertion that x :: iid ! * This means that no node strictly x may implement iid **/ public void initialAbstracts(int x, int iid) { --- 519,523 ---- /** * Enter the initial assertion that x :: iid ! * This means that no node strictly lesser than x may implement iid **/ public void initialAbstracts(int x, int iid) { |
From: <bo...@us...> - 2003-04-02 23:00:02
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv17476 Modified Files: Makefile Log Message: Added stdlib to the sourcepath of java compilations. This is needed to compile with jikes, which now works! Index: Makefile =================================================================== RCS file: /cvsroot/nice/Nice/Makefile,v retrieving revision 1.111 retrieving revision 1.112 diff -C2 -d -r1.111 -r1.112 *** Makefile 12 Mar 2003 15:50:05 -0000 1.111 --- Makefile 2 Apr 2003 22:59:58 -0000 1.112 *************** *** 15,23 **** javac = javac ! #javac = jikes JAVAC_FLAGS = -O -g ! JAVAC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src" -d "${TOP}/classes" $(JAVAC_FLAGS) JAVACC= CLASSPATH="${TOP}/external/JavaCC.zip:${CLASSPATH}" java COM.sun.labs.javacc.Main JAVADOC=javadoc --- 15,23 ---- javac = javac ! #javac = jikes-classpath JAVAC_FLAGS = -O -g ! JAVAC= ${javac} -classpath "${TOP}/classes:${TOP}/classes.old" -sourcepath "${TOP}/src:${TOP}/stdlib" -d "${TOP}/classes" $(JAVAC_FLAGS) JAVACC= CLASSPATH="${TOP}/external/JavaCC.zip:${CLASSPATH}" java COM.sun.labs.javacc.Main JAVADOC=javadoc |
From: <bo...@us...> - 2003-04-02 22:25:30
|
Update of /cvsroot/nice/Nice In directory sc8-pr-cvs1:/tmp/cvs-serv5394 Added Files: prj.el Log Message: Project file for the Java Development Environment for Emacs (JDEE). --- NEW FILE: prj.el --- (jde-project-file-version "1.0") (jde-set-variables '(jde-global-classpath (quote ("./classes"))) '(jde-compile-option-directory "./classes") '(jde-compile-option-sourcepath (quote ("./src" "./stdlib")))) |
From: <bo...@us...> - 2003-04-02 21:41:31
|
Update of /cvsroot/nice/Nice/stdlib/nice/lang In directory sc8-pr-cvs1:/tmp/cvs-serv20053/stdlib/nice/lang Modified Files: graph.nice Log Message: Added the code to use once the stable compiler can handle || on primitive types. Index: graph.nice =================================================================== RCS file: /cvsroot/nice/Nice/stdlib/nice/lang/graph.nice,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** graph.nice 27 Mar 2003 23:01:02 -0000 1.16 --- graph.nice 2 Apr 2003 21:41:23 -0000 1.17 *************** *** 38,44 **** else m = cast(mark.get(child)); ! if(m<min) ! min=m; }); --- 38,47 ---- else m = cast(mark.get(child)); + /* XXX Use this instead after 0.7.8 is released + m = mark.get(child) || visit(child, successors, id, stack, mark, res); + */ ! if (m < min) ! min = m; }); |
From: <bo...@us...> - 2003-04-02 21:38:35
|
Update of /cvsroot/nice/Nice/src/gnu/bytecode In directory sc8-pr-cvs1:/tmp/cvs-serv18668/src/gnu/bytecode Modified Files: CodeAttr.java Log Message: Added the possibility to emit a nop (not needed normally, but it can be useful in debugging). Index: CodeAttr.java =================================================================== RCS file: /cvsroot/nice/Nice/src/gnu/bytecode/CodeAttr.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** CodeAttr.java 24 Mar 2003 23:40:07 -0000 1.15 --- CodeAttr.java 2 Apr 2003 21:38:17 -0000 1.16 *************** *** 283,286 **** --- 283,292 ---- } + public void emitNop () + { + reserve(1); + put1 (0); // nop + } + /** Emit code to duplicate the top element of the stack and place the copy before the previous element. */ |
From: <bo...@us...> - 2003-04-02 21:29:45
|
Update of /cvsroot/nice/Nice/src/bossa/syntax In directory sc8-pr-cvs1:/tmp/cvs-serv14950/src/bossa/syntax Modified Files: CallExp.java Log Message: Compute the instanciated domain instead of the instanciated type, which leads to more precise expected bytecode types for the arguments. Index: CallExp.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/syntax/CallExp.java,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** CallExp.java 1 Mar 2003 00:58:28 -0000 1.73 --- CallExp.java 2 Apr 2003 21:29:40 -0000 1.74 *************** *** 23,26 **** --- 23,27 ---- import mlsub.typing.Monotype; import mlsub.typing.FunType; + import mlsub.typing.TupleType; import mlsub.typing.MonotypeConstructor; import mlsub.typing.Constraint; *************** *** 266,275 **** bytecode types. */ ! instanciatedType = new Polytype ! (type.getConstraint(), new FunType(argTypes, type.getMonotype())); ! instanciatedType = instanciatedType.cloneType(); ! // By default, a polytype is suppose to be simplified. ! instanciatedType.setNotSimplified(); ! instanciatedType.simplify(); } --- 267,276 ---- bytecode types. */ ! instanciatedDomain = new Polytype ! (type.getConstraint(), new TupleType(argTypes)); ! instanciatedDomain = instanciatedDomain.cloneType(); ! // By default, a polytype is supposed to be simplified. ! instanciatedDomain.setNotSimplified(); ! instanciatedDomain.simplify(); } *************** *** 284,288 **** /** The type of the function, constrained by the actual arguments. */ ! private Polytype instanciatedType; boolean isAssignable() --- 285,289 ---- /** The type of the function, constrained by the actual arguments. */ ! private Polytype instanciatedDomain; boolean isAssignable() *************** *** 326,331 **** // matching the instantiated type of the (polymorphic) function. Monotype[] domain = null; ! if (instanciatedType != null) ! domain = Types.domain(instanciatedType); if (domain != null) for (int i = 0; i < params.length; i++) --- 327,332 ---- // matching the instantiated type of the (polymorphic) function. Monotype[] domain = null; ! if (instanciatedDomain != null) ! domain = ((TupleType) instanciatedDomain.getMonotype()).getComponents(); if (domain != null) for (int i = 0; i < params.length; i++) |
From: <ar...@us...> - 2003-04-02 17:15:21
|
Update of /cvsroot/nice/Nice/testsuite/compiler/expressions/operators In directory sc8-pr-cvs1:/tmp/cvs-serv6790/F:/nice/testsuite/compiler/expressions/operators Modified Files: boolean.testsuite Log Message: Multiple comparions should point in the same direction. Index: boolean.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/expressions/operators/boolean.testsuite,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** boolean.testsuite 2 Apr 2003 16:18:50 -0000 1.2 --- boolean.testsuite 2 Apr 2003 17:15:13 -0000 1.3 *************** *** 80,82 **** /// PASS boolean b = true; ! b = true ? b^b||10>3<6 : false ^ b && 0 != 5; --- 80,82 ---- /// PASS boolean b = true; ! b = true ? b^b||10>3>1 : false ^ b && 0 != 5; |
From: <bo...@us...> - 2003-04-02 16:58:57
|
Update of /cvsroot/nice/Nice/testsuite/compiler/expressions/operators In directory sc8-pr-cvs1:/tmp/cvs-serv27729/testsuite/compiler/expressions/operators Modified Files: comparison.testsuite Log Message: Repeated comparison operators should all be in the same direction: either < and <=, or > and >=. Sub-expressions should not be computed several times. Index: comparison.testsuite =================================================================== RCS file: /cvsroot/nice/Nice/testsuite/compiler/expressions/operators/comparison.testsuite,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** comparison.testsuite 14 Dec 2002 12:28:06 -0000 1.1 --- comparison.testsuite 2 Apr 2003 16:58:52 -0000 1.2 *************** *** 3,5 **** --- 3,17 ---- /// PASS + assert 0 <= 0 <= 2; + + /// PASS assert ! (0 < 2 < 1); + + /// FAIL bug + boolean b = 1 > 0 < 2; + + /// PASS bug + int nbUses = 0; + byte b() { nbUses++; return 1; } + boolean b = 0 < b() < 2L; + assert nbUses == 1; |