OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "src/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 1995 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2006 | 2006 |
2007 // Return true if the sequence is a young sequence geneated by | 2007 // Return true if the sequence is a young sequence geneated by |
2008 // EmitFrameSetupForCodeAgePatching. Otherwise, this method asserts that the | 2008 // EmitFrameSetupForCodeAgePatching. Otherwise, this method asserts that the |
2009 // sequence is a code age sequence (emitted by EmitCodeAgeSequence). | 2009 // sequence is a code age sequence (emitted by EmitCodeAgeSequence). |
2010 static bool IsYoungSequence(Isolate* isolate, byte* sequence); | 2010 static bool IsYoungSequence(Isolate* isolate, byte* sequence); |
2011 | 2011 |
2012 // Jumps to found label if a prototype map has dictionary elements. | 2012 // Jumps to found label if a prototype map has dictionary elements. |
2013 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, | 2013 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, |
2014 Register scratch1, Label* found); | 2014 Register scratch1, Label* found); |
2015 | 2015 |
| 2016 // OSR needs to adjust locals on the stack down one word over the vector. |
| 2017 void AdaptUnoptimizedFrameForOsrEntry(int unoptimized_slot_count, |
| 2018 Register scratch0, Register scratch1); |
| 2019 |
2016 // Perform necessary maintenance operations before a push or after a pop. | 2020 // Perform necessary maintenance operations before a push or after a pop. |
2017 // | 2021 // |
2018 // Note that size is specified in bytes. | 2022 // Note that size is specified in bytes. |
2019 void PushPreamble(Operand total_size); | 2023 void PushPreamble(Operand total_size); |
2020 void PopPostamble(Operand total_size); | 2024 void PopPostamble(Operand total_size); |
2021 | 2025 |
2022 void PushPreamble(int count, int size) { PushPreamble(count * size); } | 2026 void PushPreamble(int count, int size) { PushPreamble(count * size); } |
2023 void PopPostamble(int count, int size) { PopPostamble(count * size); } | 2027 void PopPostamble(int count, int size) { PopPostamble(count * size); } |
2024 | 2028 |
2025 private: | 2029 private: |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2298 #error "Unsupported option" | 2302 #error "Unsupported option" |
2299 #define CODE_COVERAGE_STRINGIFY(x) #x | 2303 #define CODE_COVERAGE_STRINGIFY(x) #x |
2300 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2304 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
2301 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2305 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
2302 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2306 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
2303 #else | 2307 #else |
2304 #define ACCESS_MASM(masm) masm-> | 2308 #define ACCESS_MASM(masm) masm-> |
2305 #endif | 2309 #endif |
2306 | 2310 |
2307 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ | 2311 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ |
OLD | NEW |