OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 1467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1478 // time, so it's OK to call it from other stubs that can't cope with GC during | 1478 // time, so it's OK to call it from other stubs that can't cope with GC during |
1479 // their code generation. On machines that always have gp registers (x64) we | 1479 // their code generation. On machines that always have gp registers (x64) we |
1480 // can generate both variants ahead of time. | 1480 // can generate both variants ahead of time. |
1481 static void GenerateAheadOfTime(Isolate* isolate); | 1481 static void GenerateAheadOfTime(Isolate* isolate); |
1482 | 1482 |
1483 private: | 1483 private: |
1484 Major MajorKey() const { return CEntry; } | 1484 Major MajorKey() const { return CEntry; } |
1485 | 1485 |
1486 bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); } | 1486 bool save_doubles() const { return SaveDoublesBits::decode(minor_key_); } |
1487 #ifdef _WIN64 | 1487 #ifdef _WIN64 |
1488 int result_size() const { ResultSizeBits::decode(minor_key_); } | 1488 int result_size() const { return ResultSizeBits::decode(minor_key_); } |
1489 #endif // _WIN64 | 1489 #endif // _WIN64 |
1490 | 1490 |
1491 bool NeedsImmovableCode(); | 1491 bool NeedsImmovableCode(); |
1492 | 1492 |
1493 class SaveDoublesBits : public BitField<bool, 0, 1> {}; | 1493 class SaveDoublesBits : public BitField<bool, 0, 1> {}; |
1494 class ResultSizeBits : public BitField<int, 3, 1> {}; | 1494 class ResultSizeBits : public BitField<int, 3, 1> {}; |
1495 }; | 1495 }; |
1496 | 1496 |
1497 | 1497 |
1498 class JSEntryStub : public PlatformCodeStub { | 1498 class JSEntryStub : public PlatformCodeStub { |
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2537 | 2537 |
2538 | 2538 |
2539 class CallDescriptors { | 2539 class CallDescriptors { |
2540 public: | 2540 public: |
2541 static void InitializeForIsolate(Isolate* isolate); | 2541 static void InitializeForIsolate(Isolate* isolate); |
2542 }; | 2542 }; |
2543 | 2543 |
2544 } } // namespace v8::internal | 2544 } } // namespace v8::internal |
2545 | 2545 |
2546 #endif // V8_CODE_STUBS_H_ | 2546 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |