| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 2183fb434a9d24400ec9814a941daa0d120de2db..6199d83e35f2ed664157f7d733893e0f29fbb6dd 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -10325,6 +10325,18 @@ void Code::ClearTypeFeedbackCells(Heap* heap) {
|
| }
|
|
|
|
|
| +BailoutId Code::TranslatePcOffsetToAstId(uint32_t pc_offset) {
|
| + DisallowHeapAllocation no_gc;
|
| + ASSERT(kind() == FUNCTION);
|
| + for (FullCodeGenerator::BackEdgeTableIterator it(this, &no_gc);
|
| + !it.Done();
|
| + it.Next()) {
|
| + if (it.pc_offset() == pc_offset) return it.ast_id();
|
| + }
|
| + return BailoutId::None();
|
| +}
|
| +
|
| +
|
| bool Code::allowed_in_shared_map_code_cache() {
|
| return is_keyed_load_stub() || is_keyed_store_stub() ||
|
| (is_compare_ic_stub() &&
|
| @@ -10785,7 +10797,8 @@ void Code::Disassemble(const char* name, FILE* out) {
|
| // If there is no back edge table, the "table start" will be at or after
|
| // (due to alignment) the end of the instruction stream.
|
| if (static_cast<int>(offset) < instruction_size()) {
|
| - FullCodeGenerator::BackEdgeTableIterator back_edges(this);
|
| + DisallowHeapAllocation no_gc;
|
| + FullCodeGenerator::BackEdgeTableIterator back_edges(this, &no_gc);
|
|
|
| PrintF(out, "Back edges (size = %u)\n", back_edges.table_length());
|
| PrintF(out, "ast_id pc_offset loop_depth\n");
|
|
|