OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 // in the relocation information. Two types of source positions are collected | 171 // in the relocation information. Two types of source positions are collected |
172 // "position" (RelocMode position) and "statement position" (RelocMode | 172 // "position" (RelocMode position) and "statement position" (RelocMode |
173 // statement_position). The "position" is collected at places in the source | 173 // statement_position). The "position" is collected at places in the source |
174 // code which are of interest when making stack traces to pin-point the source | 174 // code which are of interest when making stack traces to pin-point the source |
175 // location of a stack frame as close as possible. The "statement position" is | 175 // location of a stack frame as close as possible. The "statement position" is |
176 // collected at the beginning at each statement, and is used to indicate | 176 // collected at the beginning at each statement, and is used to indicate |
177 // possible break locations. kNoPosition is used to indicate an | 177 // possible break locations. kNoPosition is used to indicate an |
178 // invalid/uninitialized position value. | 178 // invalid/uninitialized position value. |
179 static const int kNoPosition = -1; | 179 static const int kNoPosition = -1; |
180 | 180 |
| 181 // This string is used to add padding comments to the reloc info in cases |
| 182 // where we are not sure to have enough space for patching in during |
| 183 // lazy deoptimization. This is the case if we have indirect calls for which |
| 184 // we do not normally record relocation info. |
| 185 static const char* kFillerCommentString; |
| 186 |
181 enum Mode { | 187 enum Mode { |
182 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). | 188 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). |
183 CONSTRUCT_CALL, // code target that is a call to a JavaScript constructor. | 189 CONSTRUCT_CALL, // code target that is a call to a JavaScript constructor. |
184 CODE_TARGET_CONTEXT, // Code target used for contextual loads and stores. | 190 CODE_TARGET_CONTEXT, // Code target used for contextual loads and stores. |
185 DEBUG_BREAK, // Code target for the debugger statement. | 191 DEBUG_BREAK, // Code target for the debugger statement. |
186 CODE_TARGET, // Code target which is not any of the above. | 192 CODE_TARGET, // Code target which is not any of the above. |
187 EMBEDDED_OBJECT, | 193 EMBEDDED_OBJECT, |
188 GLOBAL_PROPERTY_CELL, | 194 GLOBAL_PROPERTY_CELL, |
189 | 195 |
190 // Everything after runtime_entry (inclusive) is not GC'ed. | 196 // Everything after runtime_entry (inclusive) is not GC'ed. |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
763 return num_bits_set; | 769 return num_bits_set; |
764 } | 770 } |
765 | 771 |
766 // Computes pow(x, y) with the special cases in the spec for Math.pow. | 772 // Computes pow(x, y) with the special cases in the spec for Math.pow. |
767 double power_double_int(double x, int y); | 773 double power_double_int(double x, int y); |
768 double power_double_double(double x, double y); | 774 double power_double_double(double x, double y); |
769 | 775 |
770 } } // namespace v8::internal | 776 } } // namespace v8::internal |
771 | 777 |
772 #endif // V8_ASSEMBLER_H_ | 778 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |