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

Side by Side Diff: src/objects.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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 3667 matching lines...) Expand 10 before | Expand all | Expand 10 after
3678 3678
3679 // [optimizable]: For FUNCTION kind, tells if it is optimizable. 3679 // [optimizable]: For FUNCTION kind, tells if it is optimizable.
3680 inline bool optimizable(); 3680 inline bool optimizable();
3681 inline void set_optimizable(bool value); 3681 inline void set_optimizable(bool value);
3682 3682
3683 // [has_deoptimization_support]: For FUNCTION kind, tells if it has 3683 // [has_deoptimization_support]: For FUNCTION kind, tells if it has
3684 // deoptimization support. 3684 // deoptimization support.
3685 inline bool has_deoptimization_support(); 3685 inline bool has_deoptimization_support();
3686 inline void set_has_deoptimization_support(bool value); 3686 inline void set_has_deoptimization_support(bool value);
3687 3687
3688 // [has_debug_break_slots]: For FUNCTION kind, tells if it has
3689 // been compiled with debug break slots.
3690 inline bool has_debug_break_slots();
3691 inline void set_has_debug_break_slots(bool value);
3692
3688 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for 3693 // [allow_osr_at_loop_nesting_level]: For FUNCTION kind, tells for
3689 // how long the function has been marked for OSR and therefore which 3694 // how long the function has been marked for OSR and therefore which
3690 // level of loop nesting we are willing to do on-stack replacement 3695 // level of loop nesting we are willing to do on-stack replacement
3691 // for. 3696 // for.
3692 inline void set_allow_osr_at_loop_nesting_level(int level); 3697 inline void set_allow_osr_at_loop_nesting_level(int level);
3693 inline int allow_osr_at_loop_nesting_level(); 3698 inline int allow_osr_at_loop_nesting_level();
3694 3699
3695 // [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots 3700 // [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots
3696 // reserved in the code prologue. 3701 // reserved in the code prologue.
3697 inline unsigned stack_slots(); 3702 inline unsigned stack_slots();
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
3868 // Byte offsets within kKindSpecificFlagsOffset. 3873 // Byte offsets within kKindSpecificFlagsOffset.
3869 static const int kStubMajorKeyOffset = kKindSpecificFlagsOffset; 3874 static const int kStubMajorKeyOffset = kKindSpecificFlagsOffset;
3870 static const int kOptimizableOffset = kKindSpecificFlagsOffset; 3875 static const int kOptimizableOffset = kKindSpecificFlagsOffset;
3871 static const int kStackSlotsOffset = kKindSpecificFlagsOffset; 3876 static const int kStackSlotsOffset = kKindSpecificFlagsOffset;
3872 static const int kCheckTypeOffset = kKindSpecificFlagsOffset; 3877 static const int kCheckTypeOffset = kKindSpecificFlagsOffset;
3873 3878
3874 static const int kUnaryOpTypeOffset = kStubMajorKeyOffset + 1; 3879 static const int kUnaryOpTypeOffset = kStubMajorKeyOffset + 1;
3875 static const int kBinaryOpTypeOffset = kStubMajorKeyOffset + 1; 3880 static const int kBinaryOpTypeOffset = kStubMajorKeyOffset + 1;
3876 static const int kCompareStateOffset = kStubMajorKeyOffset + 1; 3881 static const int kCompareStateOffset = kStubMajorKeyOffset + 1;
3877 static const int kToBooleanTypeOffset = kStubMajorKeyOffset + 1; 3882 static const int kToBooleanTypeOffset = kStubMajorKeyOffset + 1;
3878 static const int kHasDeoptimizationSupportOffset = kOptimizableOffset + 1; 3883
3884 static const int kFullCodeFlags = kOptimizableOffset + 1;
3885 static const int kFullCodeFlagsHasDeoptimizationSupportShift = 0;
3886 static const int kFullCodeFlagsHasDebugBreakSlotsShift = 1;
3887 static const int kFullCodeFlagsHasDeoptimizationSupportMask = 0x01;
3888 static const int kFullCodeFlagsHasDebugBreakSlotsMask = 0x02;
3879 3889
3880 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; 3890 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1;
3881 static const int kAllowOSRAtLoopNestingLevelOffset = 3891
3882 kHasDeoptimizationSupportOffset + 1; 3892 static const int kAllowOSRAtLoopNestingLevelOffset = kFullCodeFlags + 1;
3883 3893
3884 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize; 3894 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize;
3885 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize; 3895 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize;
3886 3896
3887 // Flags layout. 3897 // Flags layout.
3888 static const int kFlagsICStateShift = 0; 3898 static const int kFlagsICStateShift = 0;
3889 static const int kFlagsICInLoopShift = 3; 3899 static const int kFlagsICInLoopShift = 3;
3900
3890 static const int kFlagsTypeShift = 4; 3901 static const int kFlagsTypeShift = 4;
3891 static const int kFlagsKindShift = 8; 3902 static const int kFlagsKindShift = 8;
3892 static const int kFlagsICHolderShift = 12; 3903 static const int kFlagsICHolderShift = 12;
3893 static const int kFlagsExtraICStateShift = 13; 3904 static const int kFlagsExtraICStateShift = 13;
3894 static const int kFlagsArgumentsCountShift = 15; 3905 static const int kFlagsArgumentsCountShift = 15;
3895 3906
3896 static const int kFlagsICStateMask = 0x00000007; // 00000000111 3907 static const int kFlagsICStateMask = 0x00000007; // 00000000111
3897 static const int kFlagsICInLoopMask = 0x00000008; // 00000001000 3908 static const int kFlagsICInLoopMask = 0x00000008; // 00000001000
3898 static const int kFlagsTypeMask = 0x000000F0; // 00001110000 3909 static const int kFlagsTypeMask = 0x000000F0; // 00001110000
3899 static const int kFlagsKindMask = 0x00000F00; // 11110000000 3910 static const int kFlagsKindMask = 0x00000F00; // 11110000000
(...skipping 3558 matching lines...) Expand 10 before | Expand all | Expand 10 after
7458 } else { 7469 } else {
7459 value &= ~(1 << bit_position); 7470 value &= ~(1 << bit_position);
7460 } 7471 }
7461 return value; 7472 return value;
7462 } 7473 }
7463 }; 7474 };
7464 7475
7465 } } // namespace v8::internal 7476 } } // namespace v8::internal
7466 7477
7467 #endif // V8_OBJECTS_H_ 7478 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698