Changeset 167897 in webkit for trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
- Timestamp:
- Apr 28, 2014, 12:01:07 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
r167515 r167897 948 948 NO_RETURN_DUE_TO_CRASH void endValidationDidFail(); 949 949 950 bool isKnownToBeLiveDuringGC(); // Will only return valid results when called during GC. Assumes that you've already established that the owner executable is live. 951 950 952 protected: 951 953 virtual void visitWeakReferences(SlotVisitor&) override; … … 1002 1004 void dumpRareCaseProfile(PrintStream&, const char* name, RareCaseProfile*, bool& hasPrintedProfiling); 1003 1005 1004 #if ENABLE(DFG_JIT) 1005 bool shouldImmediatelyAssumeLivenessDuringScan() 1006 { 1007 // Interpreter and Baseline JIT CodeBlocks don't need to be jettisoned when 1008 // their weak references go stale. So if a basline JIT CodeBlock gets 1009 // scanned, we can assume that this means that it's live. 1010 if (!JITCode::isOptimizingJIT(jitType())) 1011 return true; 1012 1013 // For simplicity, we don't attempt to jettison code blocks during GC if 1014 // they are executing. Instead we strongly mark their weak references to 1015 // allow them to continue to execute soundly. 1016 if (m_mayBeExecuting) 1017 return true; 1018 1019 if (Options::forceDFGCodeBlockLiveness()) 1020 return true; 1021 1022 return false; 1023 } 1024 #else 1025 bool shouldImmediatelyAssumeLivenessDuringScan() { return true; } 1026 #endif 1006 bool shouldImmediatelyAssumeLivenessDuringScan(); 1027 1007 1028 1008 void propagateTransitions(SlotVisitor&);
Note:
See TracChangeset
for help on using the changeset viewer.