Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1261)

Unified Diff: src/runtime/runtime-internal.cc

Issue 1002673002: Remove funky 2-stage initialization of ParserInfo and an adventurous memset. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/runtime/runtime-internal.cc
diff --git a/src/runtime/runtime-internal.cc b/src/runtime/runtime-internal.cc
index 7ad925b9c0384cf2074fbbdcb4f4a6a33cc5c1dc..0f807be5b8008214a84354592f99128d4fb01ed7 100644
--- a/src/runtime/runtime-internal.cc
+++ b/src/runtime/runtime-internal.cc
@@ -179,19 +179,16 @@ RUNTIME_FUNCTION(Runtime_RenderCallSite) {
if (location.start_pos() == -1) return isolate->heap()->empty_string();
Zone zone;
- ParseInfo info(&zone);
- if (location.function()->shared()->is_function()) {
- info.InitializeFromJSFunction(location.function());
- } else {
- info.InitializeFromScript(location.script());
- }
+ SmartPointer<ParseInfo> info(location.function()->shared()->is_function()
+ ? new ParseInfo(&zone, location.function())
+ : new ParseInfo(&zone, location.script()));
- if (!Parser::ParseStatic(&info)) {
+ if (!Parser::ParseStatic(info.get())) {
isolate->clear_pending_exception();
return isolate->heap()->empty_string();
}
CallPrinter printer(isolate, &zone);
- const char* string = printer.Print(info.function(), location.start_pos());
+ const char* string = printer.Print(info->function(), location.start_pos());
return *isolate->factory()->NewStringFromAsciiChecked(string);
}

Powered by Google App Engine
This is Rietveld 408576698