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 | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are 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 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
371 // ----------------------------------------------------------------------------- | 371 // ----------------------------------------------------------------------------- |
372 // Machine instruction Operands | 372 // Machine instruction Operands |
373 | 373 |
374 // Class Operand represents a shifter operand in data processing instructions | 374 // Class Operand represents a shifter operand in data processing instructions |
375 class Operand BASE_EMBEDDED { | 375 class Operand BASE_EMBEDDED { |
376 public: | 376 public: |
377 // immediate | 377 // immediate |
378 INLINE(explicit Operand(int32_t immediate, | 378 INLINE(explicit Operand(int32_t immediate, |
379 RelocInfo::Mode rmode = RelocInfo::NONE)); | 379 RelocInfo::Mode rmode = RelocInfo::NONE)); |
380 INLINE(explicit Operand(const ExternalReference& f)); | 380 INLINE(explicit Operand(const ExternalReference& f)); |
381 INLINE(explicit Operand(const char* s)); | |
382 explicit Operand(Handle<Object> handle); | 381 explicit Operand(Handle<Object> handle); |
383 INLINE(explicit Operand(Smi* value)); | 382 INLINE(explicit Operand(Smi* value)); |
384 | 383 |
385 // rm | 384 // rm |
386 INLINE(explicit Operand(Register rm)); | 385 INLINE(explicit Operand(Register rm)); |
387 | 386 |
388 // rm <shift_op> shift_imm | 387 // rm <shift_op> shift_imm |
389 explicit Operand(Register rm, ShiftOp shift_op, int shift_imm); | 388 explicit Operand(Register rm, ShiftOp shift_op, int shift_imm); |
390 | 389 |
391 // rm <shift_op> rs | 390 // rm <shift_op> rs |
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1159 } | 1158 } |
1160 | 1159 |
1161 private: | 1160 private: |
1162 Assembler* assem_; | 1161 Assembler* assem_; |
1163 | 1162 |
1164 DISALLOW_IMPLICIT_CONSTRUCTORS(BlockConstPoolScope); | 1163 DISALLOW_IMPLICIT_CONSTRUCTORS(BlockConstPoolScope); |
1165 }; | 1164 }; |
1166 | 1165 |
1167 // Debugging | 1166 // Debugging |
1168 | 1167 |
1168 // Check the code size generated from label to here. | |
1169 int SizeOfCodeGeneratedSince(Label* l) { return pc_offset() - l->pos(); } | |
Kevin Millikin (Chromium)
2011/06/30 08:55:02
I'm not a fan of single character identifiers. 'l
Sven Panne
2011/06/30 09:29:48
Me neither, but I'll have to admit being guilty of
Rodolph Perfetta
2011/06/30 09:46:07
There is already a method 'InstructionsGeneratedSi
Sven Panne
2011/06/30 11:26:03
InstructionsGeneratedSince can at least use SizeOf
| |
1170 | |
1169 // Mark address of the ExitJSFrame code. | 1171 // Mark address of the ExitJSFrame code. |
1170 void RecordJSReturn(); | 1172 void RecordJSReturn(); |
1171 | 1173 |
1172 // Mark address of a debug break slot. | 1174 // Mark address of a debug break slot. |
1173 void RecordDebugBreakSlot(); | 1175 void RecordDebugBreakSlot(); |
1174 | 1176 |
1175 // Record the AST id of the CallIC being compiled, so that it can be placed | 1177 // Record the AST id of the CallIC being compiled, so that it can be placed |
1176 // in the relocation information. | 1178 // in the relocation information. |
1177 void RecordAstId(unsigned ast_id) { ast_id_for_reloc_info_ = ast_id; } | 1179 void RecordAstId(unsigned ast_id) { ast_id_for_reloc_info_ = ast_id; } |
1178 | 1180 |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1398 public: | 1400 public: |
1399 explicit EnsureSpace(Assembler* assembler) { | 1401 explicit EnsureSpace(Assembler* assembler) { |
1400 assembler->CheckBuffer(); | 1402 assembler->CheckBuffer(); |
1401 } | 1403 } |
1402 }; | 1404 }; |
1403 | 1405 |
1404 | 1406 |
1405 } } // namespace v8::internal | 1407 } } // namespace v8::internal |
1406 | 1408 |
1407 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1409 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |