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

Side by Side Diff: src/s390/assembler-s390.h

Issue 2949103005: PPC/s390: Remove TypeFeedbackId parameters from assembler and full-code. (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « src/ppc/macro-assembler-ppc.cc ('k') | src/s390/assembler-s390.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 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 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 int32_t lo_32 = static_cast<int32_t>(value); 835 int32_t lo_32 = static_cast<int32_t>(value);
836 836
837 iihf(r1, Operand(hi_32)); 837 iihf(r1, Operand(hi_32));
838 iilf(r1, Operand(lo_32)); 838 iilf(r1, Operand(lo_32));
839 #else 839 #else
840 iilf(r1, Operand(reinterpret_cast<uint32_t>(&v8::base::OS::DebugBreak))); 840 iilf(r1, Operand(reinterpret_cast<uint32_t>(&v8::base::OS::DebugBreak)));
841 #endif 841 #endif
842 basr(r14, r1); 842 basr(r14, r1);
843 } 843 }
844 844
845 void call(Handle<Code> target, RelocInfo::Mode rmode, 845 void call(Handle<Code> target, RelocInfo::Mode rmode);
846 TypeFeedbackId ast_id = TypeFeedbackId::None());
847 void jump(Handle<Code> target, RelocInfo::Mode rmode, Condition cond); 846 void jump(Handle<Code> target, RelocInfo::Mode rmode, Condition cond);
848 847
849 // S390 instruction generation 848 // S390 instruction generation
850 #define I_FORM(name) void name(const Operand& i) 849 #define I_FORM(name) void name(const Operand& i)
851 850
852 #define RR_FORM(name) void name(Register r1, Register r2) 851 #define RR_FORM(name) void name(Register r1, Register r2)
853 852
854 #define RR2_FORM(name) void name(Condition m1, Register r2) 853 #define RR2_FORM(name) void name(Condition m1, Register r2)
855 854
856 #define RI1_FORM(name) void name(Register r, const Operand& i) 855 #define RI1_FORM(name) void name(Register r, const Operand& i)
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
1266 // Check the code size generated from label to here. 1265 // Check the code size generated from label to here.
1267 int SizeOfCodeGeneratedSince(Label* label) { 1266 int SizeOfCodeGeneratedSince(Label* label) {
1268 return pc_offset() - label->pos(); 1267 return pc_offset() - label->pos();
1269 } 1268 }
1270 1269
1271 // Debugging 1270 // Debugging
1272 1271
1273 // Mark address of a debug break slot. 1272 // Mark address of a debug break slot.
1274 void RecordDebugBreakSlot(RelocInfo::Mode mode); 1273 void RecordDebugBreakSlot(RelocInfo::Mode mode);
1275 1274
1276 // Record the AST id of the CallIC being compiled, so that it can be placed
1277 // in the relocation information.
1278 void SetRecordedAstId(TypeFeedbackId ast_id) { recorded_ast_id_ = ast_id; }
1279
1280 TypeFeedbackId RecordedAstId() {
1281 // roohack - another issue??? DCHECK(!recorded_ast_id_.IsNone());
1282 return recorded_ast_id_;
1283 }
1284
1285 void ClearRecordedAstId() { recorded_ast_id_ = TypeFeedbackId::None(); }
1286
1287 // Record a comment relocation entry that can be used by a disassembler. 1275 // Record a comment relocation entry that can be used by a disassembler.
1288 // Use --code-comments to enable. 1276 // Use --code-comments to enable.
1289 void RecordComment(const char* msg); 1277 void RecordComment(const char* msg);
1290 1278
1291 // Record a deoptimization reason that can be used by a log or cpu profiler. 1279 // Record a deoptimization reason that can be used by a log or cpu profiler.
1292 // Use --trace-deopt to enable. 1280 // Use --trace-deopt to enable.
1293 void RecordDeoptReason(DeoptimizeReason reason, SourcePosition position, 1281 void RecordDeoptReason(DeoptimizeReason reason, SourcePosition position,
1294 int id); 1282 int id);
1295 1283
1296 // Writes a single byte or word of data in the code stream. Used 1284 // Writes a single byte or word of data in the code stream. Used
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1345 // This function allows outside callers to check and grow the buffer 1333 // This function allows outside callers to check and grow the buffer
1346 void EnsureSpaceFor(int space_needed); 1334 void EnsureSpaceFor(int space_needed);
1347 1335
1348 void EmitRelocations(); 1336 void EmitRelocations();
1349 void emit_label_addr(Label* label); 1337 void emit_label_addr(Label* label);
1350 1338
1351 public: 1339 public:
1352 byte* buffer_pos() const { return buffer_; } 1340 byte* buffer_pos() const { return buffer_; }
1353 1341
1354 protected: 1342 protected:
1355 // Relocation for a type-recording IC has the AST id added to it. This
1356 // member variable is a way to pass the information from the call site to
1357 // the relocation info.
1358 TypeFeedbackId recorded_ast_id_;
1359
1360 int buffer_space() const { return reloc_info_writer.pos() - pc_; } 1343 int buffer_space() const { return reloc_info_writer.pos() - pc_; }
1361 1344
1362 // Decode instruction(s) at pos and return backchain to previous 1345 // Decode instruction(s) at pos and return backchain to previous
1363 // label reference or kEndOfChain. 1346 // label reference or kEndOfChain.
1364 int target_at(int pos); 1347 int target_at(int pos);
1365 1348
1366 // Patch instruction(s) at pos to target target_pos (e.g. branch) 1349 // Patch instruction(s) at pos to target target_pos (e.g. branch)
1367 void target_at_put(int pos, int target_pos, bool* is_branch = nullptr); 1350 void target_at_put(int pos, int target_pos, bool* is_branch = nullptr);
1368 1351
1369 // Record reloc info for current pc_ 1352 // Record reloc info for current pc_
(...skipping 19 matching lines...) Expand all
1389 // The bound position, before this we cannot do instruction elimination. 1372 // The bound position, before this we cannot do instruction elimination.
1390 int last_bound_pos_; 1373 int last_bound_pos_;
1391 1374
1392 // Code emission 1375 // Code emission
1393 inline void CheckBuffer(); 1376 inline void CheckBuffer();
1394 void GrowBuffer(int needed = 0); 1377 void GrowBuffer(int needed = 0);
1395 inline void TrackBranch(); 1378 inline void TrackBranch();
1396 inline void UntrackBranch(); 1379 inline void UntrackBranch();
1397 1380
1398 inline int32_t emit_code_target( 1381 inline int32_t emit_code_target(
1399 Handle<Code> target, RelocInfo::Mode rmode, 1382 Handle<Code> target, RelocInfo::Mode rmode);
1400 TypeFeedbackId ast_id = TypeFeedbackId::None());
1401 1383
1402 // Helpers to emit binary encoding of 2/4/6 byte instructions. 1384 // Helpers to emit binary encoding of 2/4/6 byte instructions.
1403 inline void emit2bytes(uint16_t x); 1385 inline void emit2bytes(uint16_t x);
1404 inline void emit4bytes(uint32_t x); 1386 inline void emit4bytes(uint32_t x);
1405 inline void emit6bytes(uint64_t x); 1387 inline void emit6bytes(uint64_t x);
1406 1388
1407 // Helpers to emit binary encoding for various instruction formats. 1389 // Helpers to emit binary encoding for various instruction formats.
1408 1390
1409 inline void rr2_form(uint8_t op, Condition m1, Register r2); 1391 inline void rr2_form(uint8_t op, Condition m1, Register r2);
1410 1392
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1482 1464
1483 class EnsureSpace BASE_EMBEDDED { 1465 class EnsureSpace BASE_EMBEDDED {
1484 public: 1466 public:
1485 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } 1467 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); }
1486 }; 1468 };
1487 1469
1488 } // namespace internal 1470 } // namespace internal
1489 } // namespace v8 1471 } // namespace v8
1490 1472
1491 #endif // V8_S390_ASSEMBLER_S390_H_ 1473 #endif // V8_S390_ASSEMBLER_S390_H_
OLDNEW
« no previous file with comments | « src/ppc/macro-assembler-ppc.cc ('k') | src/s390/assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698