Chromium Code Reviews| Index: src/d8.cc |
| diff --git a/src/d8.cc b/src/d8.cc |
| index b3afcfe4e0fd4251d13142afcf530ecb0892d193..976510c464009a19f91bc9e7a0101decdc536fe4 100644 |
| --- a/src/d8.cc |
| +++ b/src/d8.cc |
| @@ -117,7 +117,6 @@ Persistent<Context> Shell::utility_context_; |
| LineEditor* Shell::console = NULL; |
| Persistent<Context> Shell::evaluation_context_; |
| -Persistent<FunctionTemplate> Shell::array_buffer_template_; |
| ShellOptions Shell::options; |
| const char* Shell::kPrompt = "d8> "; |
| @@ -489,7 +488,8 @@ Handle<Value> Shell::CreateExternalArray(const Arguments& args, |
| byteLength = length * element_size; |
| byteOffset = 0; |
| - Handle<Value> array_buffer = array_buffer_template_->GetFunction(); |
| + Handle<Object> global = Context::GetCurrent()->Global(); |
| + Handle<Value> array_buffer = global->Get(String::New("ArrayBuffer")); |
|
rossberg
2012/06/29 09:12:40
I guess, since it's immutable, that is fine. Altho
|
| ASSERT(!try_catch.HasCaught() && array_buffer->IsFunction()); |
| Handle<Value> buffer_args[] = { Uint32::New(byteLength) }; |
| Handle<Value> result = Handle<Function>::Cast(array_buffer)->NewInstance( |
| @@ -947,10 +947,8 @@ Handle<ObjectTemplate> Shell::CreateGlobalTemplate() { |
| // Bind the handlers for external arrays. |
| PropertyAttribute attr = |
| static_cast<PropertyAttribute>(ReadOnly | DontDelete); |
| - array_buffer_template_ = |
| - Persistent<FunctionTemplate>::New(CreateArrayTemplate(ArrayBuffer)); |
| global_template->Set(String::New("ArrayBuffer"), |
| - array_buffer_template_, attr); |
| + CreateArrayTemplate(ArrayBuffer), attr); |
| global_template->Set(String::New("Int8Array"), |
| CreateArrayTemplate(Int8Array), attr); |
| global_template->Set(String::New("Uint8Array"), |