OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1386 | 1386 |
1387 // Print a message to stdout and abort execution. | 1387 // Print a message to stdout and abort execution. |
1388 void Abort(BailoutReason msg); | 1388 void Abort(BailoutReason msg); |
1389 | 1389 |
1390 // Check that the stack is aligned. | 1390 // Check that the stack is aligned. |
1391 void CheckStackAlignment(); | 1391 void CheckStackAlignment(); |
1392 | 1392 |
1393 // Verify restrictions about code generated in stubs. | 1393 // Verify restrictions about code generated in stubs. |
1394 void set_generating_stub(bool value) { generating_stub_ = value; } | 1394 void set_generating_stub(bool value) { generating_stub_ = value; } |
1395 bool generating_stub() { return generating_stub_; } | 1395 bool generating_stub() { return generating_stub_; } |
1396 void set_allow_stub_calls(bool value) { allow_stub_calls_ = value; } | |
1397 bool allow_stub_calls() { return allow_stub_calls_; } | |
1398 void set_has_frame(bool value) { has_frame_ = value; } | 1396 void set_has_frame(bool value) { has_frame_ = value; } |
1399 bool has_frame() { return has_frame_; } | 1397 bool has_frame() { return has_frame_; } |
1400 inline bool AllowThisStubCall(CodeStub* stub); | 1398 inline bool AllowThisStubCall(CodeStub* stub); |
1401 | 1399 |
1402 static int SafepointRegisterStackIndex(Register reg) { | 1400 static int SafepointRegisterStackIndex(Register reg) { |
1403 return SafepointRegisterStackIndex(reg.code()); | 1401 return SafepointRegisterStackIndex(reg.code()); |
1404 } | 1402 } |
1405 | 1403 |
1406 // Activation support. | 1404 // Activation support. |
1407 void EnterFrame(StackFrame::Type type); | 1405 void EnterFrame(StackFrame::Type type); |
(...skipping 29 matching lines...) Expand all Loading... |
1437 Register scratch1, Label* found); | 1435 Register scratch1, Label* found); |
1438 | 1436 |
1439 private: | 1437 private: |
1440 // Order general registers are pushed by Pushad. | 1438 // Order general registers are pushed by Pushad. |
1441 // rax, rcx, rdx, rbx, rsi, rdi, r8, r9, r11, r14, r15. | 1439 // rax, rcx, rdx, rbx, rsi, rdi, r8, r9, r11, r14, r15. |
1442 static const int kSafepointPushRegisterIndices[Register::kNumRegisters]; | 1440 static const int kSafepointPushRegisterIndices[Register::kNumRegisters]; |
1443 static const int kNumSafepointSavedRegisters = 11; | 1441 static const int kNumSafepointSavedRegisters = 11; |
1444 static const int kSmiShift = kSmiTagSize + kSmiShiftSize; | 1442 static const int kSmiShift = kSmiTagSize + kSmiShiftSize; |
1445 | 1443 |
1446 bool generating_stub_; | 1444 bool generating_stub_; |
1447 bool allow_stub_calls_; | |
1448 bool has_frame_; | 1445 bool has_frame_; |
1449 bool root_array_available_; | 1446 bool root_array_available_; |
1450 | 1447 |
1451 // Returns a register holding the smi value. The register MUST NOT be | 1448 // Returns a register holding the smi value. The register MUST NOT be |
1452 // modified. It may be the "smi 1 constant" register. | 1449 // modified. It may be the "smi 1 constant" register. |
1453 Register GetSmiConstant(Smi* value); | 1450 Register GetSmiConstant(Smi* value); |
1454 | 1451 |
1455 intptr_t RootRegisterDelta(ExternalReference other); | 1452 intptr_t RootRegisterDelta(ExternalReference other); |
1456 | 1453 |
1457 // Moves the smi value to the destination register. | 1454 // Moves the smi value to the destination register. |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1612 masm->popfq(); \ | 1609 masm->popfq(); \ |
1613 } \ | 1610 } \ |
1614 masm-> | 1611 masm-> |
1615 #else | 1612 #else |
1616 #define ACCESS_MASM(masm) masm-> | 1613 #define ACCESS_MASM(masm) masm-> |
1617 #endif | 1614 #endif |
1618 | 1615 |
1619 } } // namespace v8::internal | 1616 } } // namespace v8::internal |
1620 | 1617 |
1621 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1618 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |