| 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 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 CallKind call_kind); | 364 CallKind call_kind); |
| 365 | 365 |
| 366 // Invoke the JavaScript function in the given register. Changes the | 366 // Invoke the JavaScript function in the given register. Changes the |
| 367 // current context to the context in the function before invoking. | 367 // current context to the context in the function before invoking. |
| 368 void InvokeFunction(Register function, | 368 void InvokeFunction(Register function, |
| 369 const ParameterCount& actual, | 369 const ParameterCount& actual, |
| 370 InvokeFlag flag, | 370 InvokeFlag flag, |
| 371 const CallWrapper& call_wrapper, | 371 const CallWrapper& call_wrapper, |
| 372 CallKind call_kind); | 372 CallKind call_kind); |
| 373 | 373 |
| 374 void InvokeFunction(Register function, |
| 375 const ParameterCount& expected, |
| 376 const ParameterCount& actual, |
| 377 InvokeFlag flag, |
| 378 const CallWrapper& call_wrapper, |
| 379 CallKind call_kind); |
| 380 |
| 374 void InvokeFunction(Handle<JSFunction> function, | 381 void InvokeFunction(Handle<JSFunction> function, |
| 375 const ParameterCount& expected, | 382 const ParameterCount& expected, |
| 376 const ParameterCount& actual, | 383 const ParameterCount& actual, |
| 377 InvokeFlag flag, | 384 InvokeFlag flag, |
| 378 const CallWrapper& call_wrapper, | 385 const CallWrapper& call_wrapper, |
| 379 CallKind call_kind); | 386 CallKind call_kind); |
| 380 | 387 |
| 381 // Invoke specified builtin JavaScript function. Adds an entry to | 388 // Invoke specified builtin JavaScript function. Adds an entry to |
| 382 // the unresolved list if the name does not resolve. | 389 // the unresolved list if the name does not resolve. |
| 383 void InvokeBuiltin(Builtins::JavaScript id, | 390 void InvokeBuiltin(Builtins::JavaScript id, |
| (...skipping 1002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1386 | 1393 |
| 1387 // Print a message to stdout and abort execution. | 1394 // Print a message to stdout and abort execution. |
| 1388 void Abort(BailoutReason msg); | 1395 void Abort(BailoutReason msg); |
| 1389 | 1396 |
| 1390 // Check that the stack is aligned. | 1397 // Check that the stack is aligned. |
| 1391 void CheckStackAlignment(); | 1398 void CheckStackAlignment(); |
| 1392 | 1399 |
| 1393 // Verify restrictions about code generated in stubs. | 1400 // Verify restrictions about code generated in stubs. |
| 1394 void set_generating_stub(bool value) { generating_stub_ = value; } | 1401 void set_generating_stub(bool value) { generating_stub_ = value; } |
| 1395 bool generating_stub() { return generating_stub_; } | 1402 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; } | 1403 void set_has_frame(bool value) { has_frame_ = value; } |
| 1399 bool has_frame() { return has_frame_; } | 1404 bool has_frame() { return has_frame_; } |
| 1400 inline bool AllowThisStubCall(CodeStub* stub); | 1405 inline bool AllowThisStubCall(CodeStub* stub); |
| 1401 | 1406 |
| 1402 static int SafepointRegisterStackIndex(Register reg) { | 1407 static int SafepointRegisterStackIndex(Register reg) { |
| 1403 return SafepointRegisterStackIndex(reg.code()); | 1408 return SafepointRegisterStackIndex(reg.code()); |
| 1404 } | 1409 } |
| 1405 | 1410 |
| 1406 // Activation support. | 1411 // Activation support. |
| 1407 void EnterFrame(StackFrame::Type type); | 1412 void EnterFrame(StackFrame::Type type); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 1437 Register scratch1, Label* found); | 1442 Register scratch1, Label* found); |
| 1438 | 1443 |
| 1439 private: | 1444 private: |
| 1440 // Order general registers are pushed by Pushad. | 1445 // Order general registers are pushed by Pushad. |
| 1441 // rax, rcx, rdx, rbx, rsi, rdi, r8, r9, r11, r14, r15. | 1446 // rax, rcx, rdx, rbx, rsi, rdi, r8, r9, r11, r14, r15. |
| 1442 static const int kSafepointPushRegisterIndices[Register::kNumRegisters]; | 1447 static const int kSafepointPushRegisterIndices[Register::kNumRegisters]; |
| 1443 static const int kNumSafepointSavedRegisters = 11; | 1448 static const int kNumSafepointSavedRegisters = 11; |
| 1444 static const int kSmiShift = kSmiTagSize + kSmiShiftSize; | 1449 static const int kSmiShift = kSmiTagSize + kSmiShiftSize; |
| 1445 | 1450 |
| 1446 bool generating_stub_; | 1451 bool generating_stub_; |
| 1447 bool allow_stub_calls_; | |
| 1448 bool has_frame_; | 1452 bool has_frame_; |
| 1449 bool root_array_available_; | 1453 bool root_array_available_; |
| 1450 | 1454 |
| 1451 // Returns a register holding the smi value. The register MUST NOT be | 1455 // Returns a register holding the smi value. The register MUST NOT be |
| 1452 // modified. It may be the "smi 1 constant" register. | 1456 // modified. It may be the "smi 1 constant" register. |
| 1453 Register GetSmiConstant(Smi* value); | 1457 Register GetSmiConstant(Smi* value); |
| 1454 | 1458 |
| 1455 intptr_t RootRegisterDelta(ExternalReference other); | 1459 intptr_t RootRegisterDelta(ExternalReference other); |
| 1456 | 1460 |
| 1457 // Moves the smi value to the destination register. | 1461 // Moves the smi value to the destination register. |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1612 masm->popfq(); \ | 1616 masm->popfq(); \ |
| 1613 } \ | 1617 } \ |
| 1614 masm-> | 1618 masm-> |
| 1615 #else | 1619 #else |
| 1616 #define ACCESS_MASM(masm) masm-> | 1620 #define ACCESS_MASM(masm) masm-> |
| 1617 #endif | 1621 #endif |
| 1618 | 1622 |
| 1619 } } // namespace v8::internal | 1623 } } // namespace v8::internal |
| 1620 | 1624 |
| 1621 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1625 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
| OLD | NEW |