summaryrefslogtreecommitdiff
path: root/chromium/v8/src/codegen/assembler.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/codegen/assembler.h
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/codegen/assembler.h')
-rw-r--r--chromium/v8/src/codegen/assembler.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/chromium/v8/src/codegen/assembler.h b/chromium/v8/src/codegen/assembler.h
index 1c287222e96..6419e55cec7 100644
--- a/chromium/v8/src/codegen/assembler.h
+++ b/chromium/v8/src/codegen/assembler.h
@@ -78,10 +78,16 @@ class JumpOptimizationInfo {
public:
bool is_collecting() const { return stage_ == kCollection; }
bool is_optimizing() const { return stage_ == kOptimization; }
- void set_optimizing() { stage_ = kOptimization; }
+ void set_optimizing() {
+ DCHECK(is_optimizable());
+ stage_ = kOptimization;
+ }
bool is_optimizable() const { return optimizable_; }
- void set_optimizable() { optimizable_ = true; }
+ void set_optimizable() {
+ DCHECK(is_collecting());
+ optimizable_ = true;
+ }
// Used to verify the instruction sequence is always the same in two stages.
size_t hash_code() const { return hash_code_; }
@@ -251,6 +257,15 @@ class V8_EXPORT_PRIVATE AssemblerBase : public Malloced {
int pc_offset() const { return static_cast<int>(pc_ - buffer_start_); }
+ int pc_offset_for_safepoint() {
+#if defined(V8_TARGET_ARCH_MIPS) || defined(V8_TARGET_ARCH_MIPS64)
+ // Mips needs it's own implementation to avoid trampoline's influence.
+ UNREACHABLE();
+#else
+ return pc_offset();
+#endif
+ }
+
byte* buffer_start() const { return buffer_->start(); }
int buffer_size() const { return buffer_->size(); }
int instruction_size() const { return pc_offset(); }