diff options
| author | Tom Hughes <tom.hughes@palm.com> | 2011-03-08 00:00:51 -0600 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2011-03-08 13:56:41 -0800 |
| commit | 74954ce7d8b4b734302d295d0c816f04a694254e (patch) | |
| tree | 75b61a90a05d4950c89e78a1a362cb4df4bf33f5 /src/node_javascript.cc | |
| parent | 81d3de7e6db6abe36ac907d8f0fa6dfc01f7bbcd (diff) | |
| download | node-74954ce7d8b4b734302d295d0c816f04a694254e.tar.gz | |
Add string class that uses ExternalAsciiStringResource.
Change the natives to use this class instead of creating completely new
strings. Reduces memory usage by about 1 MB.
Diffstat (limited to 'src/node_javascript.cc')
| -rw-r--r-- | src/node_javascript.cc | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/node_javascript.cc b/src/node_javascript.cc index 95005eeb1..e0cc5b5c3 100644 --- a/src/node_javascript.cc +++ b/src/node_javascript.cc @@ -1,6 +1,7 @@ #include <v8.h> #include "node.h" #include "node_natives.h" +#include "node_string.h" #include <string.h> #include <strings.h> @@ -8,8 +9,8 @@ using namespace v8; namespace node { -const char* MainSource() { - return node_native; +Handle<String> MainSource() { + return BUILTIN_ASCII_ARRAY(node_native, sizeof(node_native)-1); } void DefineJavaScript(v8::Handle<v8::Object> target) { @@ -18,14 +19,10 @@ void DefineJavaScript(v8::Handle<v8::Object> target) { for (int i = 0; natives[i].name; i++) { if (natives[i].source != node_native) { Local<String> name = String::New(natives[i].name); - // TODO: Use ExternalAsciiStringResource for source - // Might need to do some assertions in js2c about chars > 128 - Local<String> source = String::New(natives[i].source); + Handle<String> source = BUILTIN_ASCII_ARRAY(natives[i].source, natives[i].source_len); target->Set(name, source); } } } - - } // namespace node |
