Browse Source

Pre-process out assert()

v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
f9f0e5c75c
  1. 12
      src/node.js
  2. 1
      wscript

12
src/node.js

@ -86,11 +86,13 @@
return startup._lazyConstants;
};
var assert;
startup.processAssert = function() {
process.assert = function(x, msg) {
if (!x) {
throw new Error(msg || 'assertion error');
}
// Note that calls to assert() are pre-processed out by JS2C for the
// normal build of node. They persist only in the node_g build.
// Similarly for debug().
assert = process.assert = function(x, msg) {
if (!x) throw new Error(msg || 'assertion error');
};
};
@ -229,7 +231,7 @@
process.removeListener = function(type, listener) {
var ret = removeListener.apply(this, arguments);
if (isSignal(type)) {
process.assert(signalWatchers.hasOwnProperty(type));
assert(signalWatchers.hasOwnProperty(type));
if (this.listeners(type).length === 0) {
signalWatchers[type].stop();

1
wscript

@ -601,6 +601,7 @@ def build(bld):
make_macros(macros_loc_debug, "") # leave debug(x) as is in debug build
# replace debug(x) with nothing in release build
make_macros(macros_loc_default, "macro debug(x) = ;\n")
make_macros(macros_loc_default, "macro assert(x) = ;\n")
if not bld.env["USE_DTRACE"]:
make_macros(macros_loc_default, "macro DTRACE_HTTP_SERVER_RESPONSE(x) = ;\n");

Loading…
Cancel
Save