Index: src/runtime/runtime-function.cc |
diff --git a/src/runtime/runtime-function.cc b/src/runtime/runtime-function.cc |
index d644d37e42b2fff45685eb2c7604c5c68c801a3d..43c9ab4e04f079ebf90eea22f5ee6661eeff3852 100644 |
--- a/src/runtime/runtime-function.cc |
+++ b/src/runtime/runtime-function.cc |
@@ -601,6 +601,16 @@ RUNTIME_FUNCTION(Runtime_GetConstructorDelegate) { |
} |
+RUNTIME_FUNCTION(Runtime_GetOriginalConstructor) { |
+ SealHandleScope shs(isolate); |
+ DCHECK(args.length() == 0); |
+ JavaScriptFrameIterator it(isolate); |
+ JavaScriptFrame* frame = it.frame(); |
+ return frame->IsConstructor() ? frame->GetOriginalConstructor() |
+ : isolate->heap()->undefined_value(); |
+} |
+ |
+ |
RUNTIME_FUNCTION(Runtime_CallFunction) { |
SealHandleScope shs(isolate); |
return __RT_impl_Runtime_Call(args, isolate); |