| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 478d938cf6fa27d74994d43674af59ca7f05ef41..8563c96d9d34374bf33bbf13bf438d21291b467f 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -1293,6 +1293,7 @@ HValue* HGraphBuilder::BuildCheckString(HValue* string) {
|
|
|
| HValue* HGraphBuilder::BuildWrapReceiver(HValue* object, HValue* function) {
|
| if (object->type().IsJSObject()) return object;
|
| + // FIXME: need to always wrap Symbol values (but no HType to test against..)
|
| if (function->IsConstant() &&
|
| HConstant::cast(function)->handle(isolate())->IsJSFunction()) {
|
| Handle<JSFunction> f = Handle<JSFunction>::cast(
|
| @@ -5638,6 +5639,7 @@ bool HOptimizedGraphBuilder::PropertyAccessInfo::CanLoadAsMonomorphic(
|
|
|
|
|
| static bool NeedsWrappingFor(Handle<HeapType> type, Handle<JSFunction> target) {
|
| + if (type->Is(HeapType::Symbol())) return true;
|
| return type->Is(HeapType::NumberOrString()) &&
|
| target->shared()->is_classic_mode() &&
|
| !target->shared()->native();
|
|
|