Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: src/arm/assembler-arm.h

Issue 203583007: Support weak heap references in the ConstantPool to support IsWeakObjectInOptimizedCode objects. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | src/objects-visiting-inl.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm/assembler-arm.h
diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h
index 49881cfd0d2ffb24f8421d54b1a71dbfce390ae2..3deb3afb4e2087af8ccc44e44a0a42ff746a7422 100644
--- a/src/arm/assembler-arm.h
+++ b/src/arm/assembler-arm.h
@@ -608,6 +608,7 @@ class Operand BASE_EMBEDDED {
int shift_imm_; // valid if rm_ != no_reg && rs_ == no_reg
int32_t imm32_; // valid if rm_ == no_reg
RelocInfo::Mode rmode_;
+ bool weak_in_optimized_code_;
friend class Assembler;
};
@@ -713,12 +714,13 @@ class ConstantPoolBuilder BASE_EMBEDDED {
void AddEntry(Assembler* assm, const RelocInfo& rinfo);
void Relocate(int pc_delta);
bool IsEmpty();
- MaybeObject* Allocate(Heap* heap);
+ MaybeObject* Allocate(Heap* heap, bool has_weak_pointers);
void Populate(Assembler* assm, ConstantPoolArray* constant_pool);
inline int count_of_64bit() const { return count_of_64bit_; }
inline int count_of_code_ptr() const { return count_of_code_ptr_; }
inline int count_of_heap_ptr() const { return count_of_heap_ptr_; }
+ inline int count_of_weak_ptr() const { return count_of_weak_ptr_; }
inline int count_of_32bit() const { return count_of_32bit_; }
private:
@@ -732,6 +734,7 @@ class ConstantPoolBuilder BASE_EMBEDDED {
int count_of_64bit_;
int count_of_code_ptr_;
int count_of_heap_ptr_;
+ int count_of_weak_ptr_;
int count_of_32bit_;
};
@@ -1497,7 +1500,7 @@ class Assembler : public AssemblerBase {
void CheckConstPool(bool force_emit, bool require_jump);
// Allocate a constant pool of the correct size for the generated code.
- MaybeObject* AllocateConstantPool(Heap* heap);
+ MaybeObject* AllocateConstantPool(Heap* heap, bool has_weak_pointers);
// Generate the constant pool for the generated code.
void PopulateConstantPool(ConstantPoolArray* constant_pool);
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | src/objects-visiting-inl.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698