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

Unified Diff: src/objects-inl.h

Issue 7839030: Support for precise stepping in functions compiled before debugging was started (step 1) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fixed presubmit errors Created 9 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 side-by-side diff with in-line comments
Download patch
« src/debug.cc ('K') | « src/objects.h ('k') | src/runtime.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects-inl.h
diff --git a/src/objects-inl.h b/src/objects-inl.h
index 3b0e96f1ef93793398b98eb7a5daa50ca1c156a6..6ef90c045f7fa7952ef563471bc24bf547b0c0e4 100644
--- a/src/objects-inl.h
+++ b/src/objects-inl.h
@@ -2945,13 +2945,35 @@ void Code::set_optimizable(bool value) {
bool Code::has_deoptimization_support() {
ASSERT(kind() == FUNCTION);
- return READ_BYTE_FIELD(this, kHasDeoptimizationSupportOffset) == 1;
+ return ((READ_BYTE_FIELD(this, kFullCodeFlags) &
+ kFullCodeFlagsHasDeoptimizationSupportMask) >>
+ kFullCodeFlagsHasDeoptimizationSupportShift) == 1;
Sven Panne 2011/09/08 08:07:59 Why do we need both a mask and a shift? A single b
Søren Thygesen Gjesse 2011/09/13 07:31:19 This pattern is used for all the other flags (at l
Sven Panne 2011/09/13 07:51:51 I think Kevin changed Code to use BitField for fla
Søren Thygesen Gjesse 2011/09/13 08:06:29 I also noticed that after the rebase. This has now
}
void Code::set_has_deoptimization_support(bool value) {
ASSERT(kind() == FUNCTION);
- WRITE_BYTE_FIELD(this, kHasDeoptimizationSupportOffset, value ? 1 : 0);
+ byte flags = READ_BYTE_FIELD(this, kFullCodeFlags);
+ flags = (flags & ~kFullCodeFlagsHasDeoptimizationSupportMask) |
+ ((value ? 1 : 0) << kFullCodeFlagsHasDeoptimizationSupportShift);
+ WRITE_BYTE_FIELD(this, kFullCodeFlags, flags);
+}
+
+
+bool Code::has_debug_break_slots() {
+ ASSERT(kind() == FUNCTION);
+ return ((READ_BYTE_FIELD(this, kFullCodeFlags) &
+ kFullCodeFlagsHasDebugBreakSlotsMask) >>
+ kFullCodeFlagsHasDebugBreakSlotsShift) == 1;
+}
+
+
+void Code::set_has_debug_break_slots(bool value) {
+ ASSERT(kind() == FUNCTION);
+ byte flags = READ_BYTE_FIELD(this, kFullCodeFlags);
+ flags = (flags & ~kFullCodeFlagsHasDebugBreakSlotsMask) |
+ ((value ? 1 : 0) << kFullCodeFlagsHasDebugBreakSlotsShift);
+ WRITE_BYTE_FIELD(this, kFullCodeFlags, flags);
}
« src/debug.cc ('K') | « src/objects.h ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698