Chromium Code Reviews| 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 |