Browse Source

Merge branch 'v0.4'

Conflicts:
	src/node_version.h
v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
860cb906a6
  1. 40
      ChangeLog
  2. 5
      deps/v8/src/objects.h
  3. 3
      deps/v8/src/top.cc
  4. 2
      deps/v8/src/version.cc
  5. 2
      deps/v8/src/x64/assembler-x64.cc
  6. 3
      doc/api/net.markdown
  7. 8
      doc/index.html
  8. 6
      lib/http.js
  9. 2
      wscript

40
ChangeLog

@ -1,3 +1,43 @@
2011.05.20, Version 0.4.8 (stable)
* #974 Properly report traceless errors (isaacs)
* #983 Better JSON.parse error detection in REPL (isaacs)
* #836 Agent socket errors bubble up to req only if req exists
* #1041 Fix event listener leak check timing (koichik)
* #1038 Fix dns.resolve() with 'PTR' throws Error: Unknown type "PTR"
(koichik)
* #1073 Share SSL context between server connections (Fedor Indutny)
* Disable compression with OpenSSL. Improves memory perf.
* Implement os.totalmem() and os.freemem() for SunOS (Alexandre Marangone)
* Fix a special characters in URL regression (isaacs)
* Fix idle timeouts in HTTPS (Felix Geisendörfer)
* SlowBuffer.write() with 'ucs2' throws ReferenceError. (koichik)
* http.ServerRequest 'close' sometimes gets an error argument
(Felix Geisendörfer)
* Doc improvements
* cleartextstream.destroy() should close(2) the socket. Previously was being
mapped to a shutdown(2) syscall.
* No longer compile out asserts and debug statements in normal build.
* Debugger improvements.
* Upgrade V8 to 3.1.8.16.
2011.04.22, Version 0.4.7 (stable) 2011.04.22, Version 0.4.7 (stable)
* Don't emit error on ECONNRESET from read() #670 * Don't emit error on ECONNRESET from read() #670

5
deps/v8/src/objects.h

@ -585,6 +585,7 @@ enum CompareResult {
class StringStream; class StringStream;
class ObjectVisitor; class ObjectVisitor;
class Failure;
struct ValueInfo : public Malloced { struct ValueInfo : public Malloced {
ValueInfo() : type(FIRST_TYPE), ptr(NULL), str(NULL), number(0) { } ValueInfo() : type(FIRST_TYPE), ptr(NULL), str(NULL), number(0) { }
@ -611,6 +612,10 @@ class MaybeObject BASE_EMBEDDED {
*obj = reinterpret_cast<Object*>(this); *obj = reinterpret_cast<Object*>(this);
return true; return true;
} }
inline Failure* ToFailureUnchecked() {
ASSERT(IsFailure());
return reinterpret_cast<Failure*>(this);
}
inline Object* ToObjectUnchecked() { inline Object* ToObjectUnchecked() {
ASSERT(!IsFailure()); ASSERT(!IsFailure());
return reinterpret_cast<Object*>(this); return reinterpret_cast<Object*>(this);

3
deps/v8/src/top.cc

@ -1,4 +1,4 @@
// Copyright 2006-2008 the V8 project authors. All rights reserved. // Copyright 2011 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without // Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are // modification, are permitted provided that the following conditions are
// met: // met:
@ -740,6 +740,7 @@ Failure* Top::ReThrow(MaybeObject* exception, MessageLocation* location) {
// Set the exception being re-thrown. // Set the exception being re-thrown.
set_pending_exception(exception); set_pending_exception(exception);
if (exception->IsFailure()) return exception->ToFailureUnchecked();
return Failure::Exception(); return Failure::Exception();
} }

2
deps/v8/src/version.cc

@ -35,7 +35,7 @@
#define MAJOR_VERSION 3 #define MAJOR_VERSION 3
#define MINOR_VERSION 1 #define MINOR_VERSION 1
#define BUILD_NUMBER 8 #define BUILD_NUMBER 8
#define PATCH_LEVEL 14 #define PATCH_LEVEL 16
#define CANDIDATE_VERSION false #define CANDIDATE_VERSION false
// Define SONAME to have the SCons build the put a specific SONAME into the // Define SONAME to have the SCons build the put a specific SONAME into the

2
deps/v8/src/x64/assembler-x64.cc

@ -1379,7 +1379,7 @@ void Assembler::jmp(NearLabel* L) {
EnsureSpace ensure_space(this); EnsureSpace ensure_space(this);
last_pc_ = pc_; last_pc_ = pc_;
if (L->is_bound()) { if (L->is_bound()) {
const int short_size = sizeof(int8_t); const int short_size = 2;
int offs = L->pos() - pc_offset(); int offs = L->pos() - pc_offset();
ASSERT(offs <= 0); ASSERT(offs <= 0);
ASSERT(is_int8(offs - short_size)); ASSERT(is_int8(offs - short_size));

3
doc/api/net.markdown

@ -104,7 +104,8 @@ when the server has been bound.
Start a server listening for connections on the given file descriptor. Start a server listening for connections on the given file descriptor.
This file descriptor must have already had the `bind(2)` and `listen(2)` system This file descriptor must have already had the `bind(2)` and `listen(2)` system
calls invoked on it. calls invoked on it. Additionally, it must be set non-blocking; try
`fcntl(fd, F_SETFL, O_NONBLOCK)`.
#### server.pause(msecs) #### server.pause(msecs)

8
doc/index.html

@ -26,7 +26,7 @@
<li><a href="#download">Download</a></li> <li><a href="#download">Download</a></li>
<li><a href="https://github.com/joyent/node/raw/v0.4/ChangeLog">ChangeLog</a></li> <li><a href="https://github.com/joyent/node/raw/v0.4/ChangeLog">ChangeLog</a></li>
<li><a href="#about">About</a></li> <li><a href="#about">About</a></li>
<li><a href="http://nodejs.org/docs/v0.4.7/api">v0.4.7 docs</a></li> <li><a href="http://nodejs.org/docs/v0.4.8/api">v0.4.8 docs</a></li>
<br/> <br/>
<li><a href="https://github.com/joyent/node/wiki">Wiki</a></li> <li><a href="https://github.com/joyent/node/wiki">Wiki</a></li>
<li><a href="http://blog.nodejs.org/">Blog</a></li> <li><a href="http://blog.nodejs.org/">Blog</a></li>
@ -108,9 +108,9 @@ server.listen(1337, "127.0.0.1");
</p> </p>
<p> <p>
2011.04.22 2011.05.20
<a href="http://nodejs.org/dist/node-v0.4.7.tar.gz">node-v0.4.7.tar.gz</a> <a href="http://nodejs.org/dist/node-v0.4.8.tar.gz">node-v0.4.8.tar.gz</a>
(<a href="http://nodejs.org/docs/v0.4.7/api/index.html">Documentation</a>) (<a href="http://nodejs.org/docs/v0.4.8/api/index.html">Documentation</a>)
</p> </p>
<p>Historical: <a href="http://nodejs.org/dist">versions</a>, <a href="http://nodejs.org/docs">docs</a></p> <p>Historical: <a href="http://nodejs.org/dist">versions</a>, <a href="http://nodejs.org/docs">docs</a></p>

6
lib/http.js

@ -1089,7 +1089,11 @@ function connectionListener(socket) {
// When we're finished writing the response, check if this is the last // When we're finished writing the response, check if this is the last
// respose, if so destroy the socket. // respose, if so destroy the socket.
res.on('finish', function() { res.on('finish', function() {
assert(incoming[0] === req); // Usually the first incoming element should be our request. it may
// be that in the case abortIncoming() was called that the incoming
// array will be empty.
assert(incoming.length == 0 || incoming[0] === req);
incoming.shift(); incoming.shift();
res.detachSocket(socket); res.detachSocket(socket);

2
wscript

@ -875,7 +875,7 @@ def build(bld):
, 'CPPFLAGS' : " ".join(program.env["CPPFLAGS"]).replace('"', '\\"') , 'CPPFLAGS' : " ".join(program.env["CPPFLAGS"]).replace('"', '\\"')
, 'LIBFLAGS' : " ".join(program.env["LIBFLAGS"]).replace('"', '\\"') , 'LIBFLAGS' : " ".join(program.env["LIBFLAGS"]).replace('"', '\\"')
, 'PREFIX' : safe_path(program.env["PREFIX"]) , 'PREFIX' : safe_path(program.env["PREFIX"])
, 'VERSION' : '0.4.7' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version. , 'VERSION' : '0.4.8' # FIXME should not be hard-coded, see NODE_VERSION_STRING in src/node_version.
} }
return x return x

Loading…
Cancel
Save