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

Side by Side Diff: src/liveedit.cc

Issue 10837037: Age code to allow reclaiming old unexecuted functions (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Review feedback Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 if (RelocInfo::IsPosition(rinfo->rmode())) { 1280 if (RelocInfo::IsPosition(rinfo->rmode())) {
1281 int position = static_cast<int>(rinfo->data()); 1281 int position = static_cast<int>(rinfo->data());
1282 int new_position = TranslatePosition(position, 1282 int new_position = TranslatePosition(position,
1283 position_change_array); 1283 position_change_array);
1284 if (position != new_position) { 1284 if (position != new_position) {
1285 RelocInfo info_copy(rinfo->pc(), rinfo->rmode(), new_position, NULL); 1285 RelocInfo info_copy(rinfo->pc(), rinfo->rmode(), new_position, NULL);
1286 buffer_writer.Write(&info_copy); 1286 buffer_writer.Write(&info_copy);
1287 continue; 1287 continue;
1288 } 1288 }
1289 } 1289 }
1290 buffer_writer.Write(it.rinfo()); 1290 if (RelocInfo::IsRealRelocMode(rinfo->rmode())) {
1291 buffer_writer.Write(it.rinfo());
1292 }
1291 } 1293 }
1292 } 1294 }
1293 1295
1294 Vector<byte> buffer = buffer_writer.GetResult(); 1296 Vector<byte> buffer = buffer_writer.GetResult();
1295 1297
1296 if (buffer.length() == code->relocation_size()) { 1298 if (buffer.length() == code->relocation_size()) {
1297 // Simply patch relocation area of code. 1299 // Simply patch relocation area of code.
1298 memcpy(code->relocation_start(), buffer.start(), buffer.length()); 1300 memcpy(code->relocation_start(), buffer.start(), buffer.length());
1299 return code; 1301 return code;
1300 } else { 1302 } else {
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after
1921 1923
1922 bool LiveEditFunctionTracker::IsActive(Isolate* isolate) { 1924 bool LiveEditFunctionTracker::IsActive(Isolate* isolate) {
1923 return false; 1925 return false;
1924 } 1926 }
1925 1927
1926 #endif // ENABLE_DEBUGGER_SUPPORT 1928 #endif // ENABLE_DEBUGGER_SUPPORT
1927 1929
1928 1930
1929 1931
1930 } } // namespace v8::internal 1932 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/mark-compact.h » ('j') | src/mark-compact.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698