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

Side by Side Diff: src/assembler.h

Issue 6541053: Add more generic version of reloc info padding to ensure enough space for rel... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/assembler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 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 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 183 // lazy deoptimization. This is the case if we have indirect calls for which
184 // we do not normally record relocation info. 184 // we do not normally record relocation info.
185 static const char* kFillerCommentString; 185 static const char* kFillerCommentString;
186 186
187 // The size of a comment is equal to tree bytes for the extra tagged pc +
188 // the tag for the data, and kPointerSize for the actual pointer to the
189 // comment.
190 static const int kRelocCommentSize = 3 + kPointerSize;
191
192 // The maximum size for a call instruction including pc-jump.
193 static const int kMaxCallSize = 6;
194
187 enum Mode { 195 enum Mode {
188 // Please note the order is important (see IsCodeTarget, IsGCRelocMode). 196 // Please note the order is important (see IsCodeTarget, IsGCRelocMode).
189 CONSTRUCT_CALL, // code target that is a call to a JavaScript constructor. 197 CONSTRUCT_CALL, // code target that is a call to a JavaScript constructor.
190 CODE_TARGET_CONTEXT, // Code target used for contextual loads and stores. 198 CODE_TARGET_CONTEXT, // Code target used for contextual loads and stores.
191 DEBUG_BREAK, // Code target for the debugger statement. 199 DEBUG_BREAK, // Code target for the debugger statement.
192 CODE_TARGET, // Code target which is not any of the above. 200 CODE_TARGET, // Code target which is not any of the above.
193 EMBEDDED_OBJECT, 201 EMBEDDED_OBJECT,
194 GLOBAL_PROPERTY_CELL, 202 GLOBAL_PROPERTY_CELL,
195 203
196 // Everything after runtime_entry (inclusive) is not GC'ed. 204 // Everything after runtime_entry (inclusive) is not GC'ed.
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 return num_bits_set; 777 return num_bits_set;
770 } 778 }
771 779
772 // Computes pow(x, y) with the special cases in the spec for Math.pow. 780 // Computes pow(x, y) with the special cases in the spec for Math.pow.
773 double power_double_int(double x, int y); 781 double power_double_int(double x, int y);
774 double power_double_double(double x, double y); 782 double power_double_double(double x, double y);
775 783
776 } } // namespace v8::internal 784 } } // namespace v8::internal
777 785
778 #endif // V8_ASSEMBLER_H_ 786 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « no previous file | src/assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698