Mercurial > hg > truffle
comparison src/share/vm/runtime/os.cpp @ 2491:0654ee04b214
Merge with OpenJDK.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 22 Apr 2011 15:30:53 +0200 |
parents | a2babfb34c24 677234770800 |
children | 04b9a2566eec |
comparison
equal
deleted
inserted
replaced
2490:29246b1d2d3c | 2491:0654ee04b214 |
---|---|
631 guarantee(*q == badResourceValue, | 631 guarantee(*q == badResourceValue, |
632 "Thing freed should be malloc result."); | 632 "Thing freed should be malloc result."); |
633 *q = (u_char)freeBlockPad; | 633 *q = (u_char)freeBlockPad; |
634 } | 634 } |
635 if (PrintMalloc && tty != NULL) | 635 if (PrintMalloc && tty != NULL) |
636 fprintf(stderr, "os::free " SIZE_FORMAT " bytes --> " PTR_FORMAT "\n", size, (intptr_t)memblock); | 636 fprintf(stderr, "os::free " SIZE_FORMAT " bytes --> " PTR_FORMAT "\n", size, (uintptr_t)memblock); |
637 } else if (PrintMalloc && tty != NULL) { | 637 } else if (PrintMalloc && tty != NULL) { |
638 // tty->print_cr("os::free %p", memblock); | 638 // tty->print_cr("os::free %p", memblock); |
639 fprintf(stderr, "os::free " PTR_FORMAT "\n", (intptr_t)memblock); | 639 fprintf(stderr, "os::free " PTR_FORMAT "\n", (uintptr_t)memblock); |
640 } | 640 } |
641 #endif | 641 #endif |
642 ::free((char*)memblock - space_before); | 642 ::free((char*)memblock - space_before); |
643 } | 643 } |
644 | 644 |
1077 "%/lib/rt.jar:" | 1077 "%/lib/rt.jar:" |
1078 "%/lib/sunrsasign.jar:" | 1078 "%/lib/sunrsasign.jar:" |
1079 "%/lib/jsse.jar:" | 1079 "%/lib/jsse.jar:" |
1080 "%/lib/jce.jar:" | 1080 "%/lib/jce.jar:" |
1081 "%/lib/charsets.jar:" | 1081 "%/lib/charsets.jar:" |
1082 | |
1083 // ## TEMPORARY hack to keep the legacy launcher working when | |
1084 // ## only the boot module is installed (cf. j.l.ClassLoader) | |
1085 "%/lib/modules/jdk.boot.jar:" | |
1086 | |
1087 "%/classes"; | 1082 "%/classes"; |
1088 char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); | 1083 char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); |
1089 if (sysclasspath == NULL) return false; | 1084 if (sysclasspath == NULL) return false; |
1090 Arguments::set_sysclasspath(sysclasspath); | 1085 Arguments::set_sysclasspath(sysclasspath); |
1091 | 1086 |
1294 result = true; | 1289 result = true; |
1295 } | 1290 } |
1296 } | 1291 } |
1297 return result; | 1292 return result; |
1298 } | 1293 } |
1294 | |
1295 // Read file line by line, if line is longer than bsize, | |
1296 // skip rest of line. | |
1297 int os::get_line_chars(int fd, char* buf, const size_t bsize){ | |
1298 size_t sz, i = 0; | |
1299 | |
1300 // read until EOF, EOL or buf is full | |
1301 while ((sz = (int) read(fd, &buf[i], 1)) == 1 && i < (bsize-1) && buf[i] != '\n') { | |
1302 ++i; | |
1303 } | |
1304 | |
1305 if (buf[i] == '\n') { | |
1306 // EOL reached so ignore EOL character and return | |
1307 | |
1308 buf[i] = 0; | |
1309 return (int) i; | |
1310 } | |
1311 | |
1312 buf[i+1] = 0; | |
1313 | |
1314 if (sz != 1) { | |
1315 // EOF reached. if we read chars before EOF return them and | |
1316 // return EOF on next call otherwise return EOF | |
1317 | |
1318 return (i == 0) ? -1 : (int) i; | |
1319 } | |
1320 | |
1321 // line is longer than size of buf, skip to EOL | |
1322 int ch; | |
1323 while (read(fd, &ch, 1) == 1 && ch != '\n') { | |
1324 // Do nothing | |
1325 } | |
1326 | |
1327 // return initial part of line that fits in buf. | |
1328 // If we reached EOF, it will be returned on next call. | |
1329 | |
1330 return (int) i; | |
1331 } |