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(de...@Bl..., info)
--- 530,534 ----
analyse(s@Statement, info) {}
! analyse(null(Statement), info) {}
analyse(de...@Bl..., 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;
|