Chromium Code Reviews| Index: src/isolate.cc |
| diff --git a/src/isolate.cc b/src/isolate.cc |
| index 7cd8b002c4b096e15c83a085eba72eaaf4b8739c..7a6cd5f34cf0b7b04854cf10bf5a2729f605260d 100644 |
| --- a/src/isolate.cc |
| +++ b/src/isolate.cc |
| @@ -489,6 +489,8 @@ class CaptureStackTraceHelper { |
| if (options & StackTrace::kFunctionName) { |
| function_key_ = factory()->InternalizeOneByteString( |
| STATIC_CHAR_VECTOR("functionName")); |
| + name_key_ = |
| + factory()->InternalizeOneByteString(STATIC_CHAR_VECTOR("name")); |
| } |
| if (options & StackTrace::kIsEval) { |
| eval_key_ = |
| @@ -550,7 +552,10 @@ class CaptureStackTraceHelper { |
| } |
| if (!function_key_.is_null()) { |
| - Handle<Object> fun_name(fun->shared()->DebugName(), isolate_); |
| + Handle<Object> fun_name = |
| + JSObject::GetProperty(fun, name_key_).ToHandleChecked(); |
| + if (fun_name.is_null() || !fun_name->IsString()) |
|
yurys
2015/03/05 14:12:56
Can it ever be null?
kozy
2015/03/05 15:01:09
Replaced with GetDataProperty
|
| + fun_name = Handle<Object>(fun->shared()->DebugName(), isolate_); |
| JSObject::AddProperty(stack_frame, function_key_, fun_name, NONE); |
| } |
| @@ -581,6 +586,7 @@ class CaptureStackTraceHelper { |
| Handle<String> function_key_; |
| Handle<String> eval_key_; |
| Handle<String> constructor_key_; |
| + Handle<String> name_key_; |
| }; |