| OLD | NEW |
| 1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 return v8::Script::Compile(v8_str(source))->Run(); | 339 return v8::Script::Compile(v8_str(source))->Run(); |
| 340 } | 340 } |
| 341 | 341 |
| 342 | 342 |
| 343 static inline v8::Local<v8::Value> CompileRun(v8::Local<v8::String> source) { | 343 static inline v8::Local<v8::Value> CompileRun(v8::Local<v8::String> source) { |
| 344 return v8::Script::Compile(source)->Run(); | 344 return v8::Script::Compile(source)->Run(); |
| 345 } | 345 } |
| 346 | 346 |
| 347 | 347 |
| 348 static inline v8::Local<v8::Value> PreCompileCompileRun(const char* source) { | 348 static inline v8::Local<v8::Value> PreCompileCompileRun(const char* source) { |
| 349 // Compile once just to get the preparse data, then compile the second time |
| 350 // using the data. |
| 349 v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 351 v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
| 350 v8::Local<v8::String> source_string = | 352 v8::ScriptCompiler::Source script_source(v8_str(source)); |
| 351 v8::String::NewFromUtf8(isolate, source); | 353 v8::ScriptCompiler::Compile(isolate, &script_source, |
| 352 v8::ScriptData* preparse = v8::ScriptData::PreCompile(source_string); | 354 v8::ScriptCompiler::kProduceDataToCache); |
| 353 v8::ScriptCompiler::Source script_source( | 355 return v8::ScriptCompiler::Compile(isolate, &script_source)->Run(); |
| 354 source_string, new v8::ScriptCompiler::CachedData( | |
| 355 reinterpret_cast<const uint8_t*>(preparse->Data()), | |
| 356 preparse->Length())); | |
| 357 v8::Local<v8::Script> script = | |
| 358 v8::ScriptCompiler::Compile(isolate, &script_source); | |
| 359 v8::Local<v8::Value> result = script->Run(); | |
| 360 delete preparse; | |
| 361 return result; | |
| 362 } | 356 } |
| 363 | 357 |
| 364 | 358 |
| 365 // Helper functions that compile and run the source with given origin. | 359 // Helper functions that compile and run the source with given origin. |
| 366 static inline v8::Local<v8::Value> CompileRunWithOrigin(const char* source, | 360 static inline v8::Local<v8::Value> CompileRunWithOrigin(const char* source, |
| 367 const char* origin_url, | 361 const char* origin_url, |
| 368 int line_number, | 362 int line_number, |
| 369 int column_number) { | 363 int column_number) { |
| 370 v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 364 v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
| 371 v8::ScriptOrigin origin(v8_str(origin_url), | 365 v8::ScriptOrigin origin(v8_str(origin_url), |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 CHECK_EQ(0, heap_profiler_->heap_object_map()->FindUntrackedObjects()); | 427 CHECK_EQ(0, heap_profiler_->heap_object_map()->FindUntrackedObjects()); |
| 434 heap_profiler_->StopHeapObjectsTracking(); | 428 heap_profiler_->StopHeapObjectsTracking(); |
| 435 } | 429 } |
| 436 | 430 |
| 437 private: | 431 private: |
| 438 i::HeapProfiler* heap_profiler_; | 432 i::HeapProfiler* heap_profiler_; |
| 439 }; | 433 }; |
| 440 | 434 |
| 441 | 435 |
| 442 #endif // ifndef CCTEST_H_ | 436 #endif // ifndef CCTEST_H_ |
| OLD | NEW |