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_DEOPTIMIZER_H_ | 5 #ifndef V8_DEOPTIMIZER_H_ |
6 #define V8_DEOPTIMIZER_H_ | 6 #define V8_DEOPTIMIZER_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 public: | 522 public: |
523 FrameDescription(uint32_t frame_size, | 523 FrameDescription(uint32_t frame_size, |
524 JSFunction* function); | 524 JSFunction* function); |
525 | 525 |
526 void* operator new(size_t size, uint32_t frame_size) { | 526 void* operator new(size_t size, uint32_t frame_size) { |
527 // Subtracts kPointerSize, as the member frame_content_ already supplies | 527 // Subtracts kPointerSize, as the member frame_content_ already supplies |
528 // the first element of the area to store the frame. | 528 // the first element of the area to store the frame. |
529 return malloc(size + frame_size - kPointerSize); | 529 return malloc(size + frame_size - kPointerSize); |
530 } | 530 } |
531 | 531 |
| 532 // Bug in VS2015 RC, reported fixed in RTM. Microsoft bug: 1153909. |
| 533 #if !defined(_MSC_FULL_VER) || _MSC_FULL_VER != 190022720 |
532 void operator delete(void* pointer, uint32_t frame_size) { | 534 void operator delete(void* pointer, uint32_t frame_size) { |
533 free(pointer); | 535 free(pointer); |
534 } | 536 } |
| 537 #endif // _MSC_FULL_VER |
535 | 538 |
536 void operator delete(void* description) { | 539 void operator delete(void* description) { |
537 free(description); | 540 free(description); |
538 } | 541 } |
539 | 542 |
540 uint32_t GetFrameSize() const { | 543 uint32_t GetFrameSize() const { |
541 DCHECK(static_cast<uint32_t>(frame_size_) == frame_size_); | 544 DCHECK(static_cast<uint32_t>(frame_size_) == frame_size_); |
542 return static_cast<uint32_t>(frame_size_); | 545 return static_cast<uint32_t>(frame_size_); |
543 } | 546 } |
544 | 547 |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1045 Object** parameters_; | 1048 Object** parameters_; |
1046 Object** expression_stack_; | 1049 Object** expression_stack_; |
1047 int source_position_; | 1050 int source_position_; |
1048 | 1051 |
1049 friend class Deoptimizer; | 1052 friend class Deoptimizer; |
1050 }; | 1053 }; |
1051 | 1054 |
1052 } } // namespace v8::internal | 1055 } } // namespace v8::internal |
1053 | 1056 |
1054 #endif // V8_DEOPTIMIZER_H_ | 1057 #endif // V8_DEOPTIMIZER_H_ |
OLD | NEW |