Index: src/messages.cc |
diff --git a/src/messages.cc b/src/messages.cc |
index bf0126c19785d9f7611e2ef75eeb47e2af587ca9..e7508fb9551ee2401cf67bb202c592f003d4b575 100644 |
--- a/src/messages.cc |
+++ b/src/messages.cc |
@@ -499,15 +499,13 @@ MaybeHandle<FixedArray> GetStackFrames(Isolate* isolate, |
const int frame_count = elems->FrameCount(); |
- int sloppy_frames = elems->SloppyFrameCount(); |
- |
Handle<FixedArray> frames = isolate->factory()->NewFixedArray(frame_count); |
for (int i = 0; i < frame_count; i++) { |
+ const int flags = elems->Flags(i)->value(); |
Handle<AbstractCode> code(elems->Code(i), isolate); |
Handle<Smi> pc(elems->Offset(i), isolate); |
- |
- sloppy_frames--; |
- Handle<Object> strict = isolate->factory()->ToBoolean(sloppy_frames < 0); |
+ Handle<Object> strict = |
+ isolate->factory()->ToBoolean(flags & FrameArray::kIsStrict); |
if (elems->IsWasmFrame(i)) { |
Handle<Object> wasm_obj(elems->WasmObject(i), isolate); |
@@ -531,6 +529,10 @@ MaybeHandle<FixedArray> GetStackFrames(Isolate* isolate, |
Handle<Object> pos(Smi::FromInt(code->SourcePosition(pc->value())), |
isolate); |
+ if (flags & FrameArray::kForceConstructor) { |
+ recv = handle(isolate->heap()->call_site_constructor_symbol()); |
+ } |
+ |
Handle<Object> callsite; |
ASSIGN_RETURN_ON_EXCEPTION( |
isolate, callsite, |