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

Unified Diff: src/top.cc

Issue 27133: - Pass the knowledge whether the old GC is compacting to the GC prologue and ... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 10 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
« src/stub-cache.h ('K') | « src/top.h ('k') | src/v8threads.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/top.cc
===================================================================
--- src/top.cc (revision 1355)
+++ src/top.cc (working copy)
@@ -333,33 +333,37 @@
}
-void Top::MarkCompactPrologue() {
- MarkCompactPrologue(&thread_local_);
+void Top::MarkCompactPrologue(bool is_compacting) {
+ MarkCompactPrologue(is_compacting, &thread_local_);
}
-void Top::MarkCompactPrologue(char* data) {
- MarkCompactPrologue(reinterpret_cast<ThreadLocalTop*>(data));
+void Top::MarkCompactPrologue(bool is_compacting, char* data) {
+ MarkCompactPrologue(is_compacting, reinterpret_cast<ThreadLocalTop*>(data));
}
-void Top::MarkCompactPrologue(ThreadLocalTop* thread) {
- StackFrame::CookFramesForThread(thread);
+void Top::MarkCompactPrologue(bool is_compacting, ThreadLocalTop* thread) {
+ if (is_compacting) {
+ StackFrame::CookFramesForThread(thread);
+ }
}
-void Top::MarkCompactEpilogue(char* data) {
- MarkCompactEpilogue(reinterpret_cast<ThreadLocalTop*>(data));
+void Top::MarkCompactEpilogue(bool is_compacting, char* data) {
+ MarkCompactEpilogue(is_compacting, reinterpret_cast<ThreadLocalTop*>(data));
}
-void Top::MarkCompactEpilogue() {
- MarkCompactEpilogue(&thread_local_);
+void Top::MarkCompactEpilogue(bool is_compacting) {
+ MarkCompactEpilogue(is_compacting, &thread_local_);
}
-void Top::MarkCompactEpilogue(ThreadLocalTop* thread) {
- StackFrame::UncookFramesForThread(thread);
+void Top::MarkCompactEpilogue(bool is_compacting, ThreadLocalTop* thread) {
+ if (is_compacting) {
+ StackFrame::UncookFramesForThread(thread);
+ }
}
@@ -690,7 +694,7 @@
HandleScope scope;
// Find code position if recorded in relocation info.
JavaScriptFrame* frame = it.frame();
- int pos = frame->FindCode()->SourcePosition(frame->pc());
+ int pos = frame->code()->SourcePosition(frame->pc());
Handle<Object> pos_obj(Smi::FromInt(pos));
// Fetch function and receiver.
Handle<JSFunction> fun(JSFunction::cast(frame->function()));
@@ -721,7 +725,7 @@
Object* script = fun->shared()->script();
if (script->IsScript() &&
!(Script::cast(script)->source()->IsUndefined())) {
- int pos = frame->FindCode()->SourcePosition(frame->pc());
+ int pos = frame->code()->SourcePosition(frame->pc());
// Compute the location from the function and the reloc info.
Handle<Script> casted_script(Script::cast(script));
*target = MessageLocation(casted_script, pos, pos + 1);
« src/stub-cache.h ('K') | « src/top.h ('k') | src/v8threads.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698