| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <iomanip> | 5 #include <iomanip> |
| 6 #include <sstream> | 6 #include <sstream> |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
| (...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 // behavior the same between hardware and simulators. | 433 // behavior the same between hardware and simulators. |
| 434 StackLimitCheck check(isolate); | 434 StackLimitCheck check(isolate); |
| 435 if (check.JsHasOverflowed()) { | 435 if (check.JsHasOverflowed()) { |
| 436 isolate->StackOverflow(); | 436 isolate->StackOverflow(); |
| 437 return MaybeHandle<Object>(); | 437 return MaybeHandle<Object>(); |
| 438 } | 438 } |
| 439 | 439 |
| 440 Debug* debug = isolate->debug(); | 440 Debug* debug = isolate->debug(); |
| 441 // Handle stepping into a getter if step into is active. | 441 // Handle stepping into a getter if step into is active. |
| 442 // TODO(rossberg): should this apply to getters that are function proxies? | 442 // TODO(rossberg): should this apply to getters that are function proxies? |
| 443 if (debug->is_active()) { | 443 if (debug->is_active()) debug->HandleStepIn(getter, false); |
| 444 debug->HandleStepIn(getter, Handle<Object>::null(), 0, false); | |
| 445 } | |
| 446 | 444 |
| 447 return Execution::Call(isolate, getter, receiver, 0, NULL, true); | 445 return Execution::Call(isolate, getter, receiver, 0, NULL, true); |
| 448 } | 446 } |
| 449 | 447 |
| 450 | 448 |
| 451 MaybeHandle<Object> Object::SetPropertyWithDefinedSetter( | 449 MaybeHandle<Object> Object::SetPropertyWithDefinedSetter( |
| 452 Handle<Object> receiver, | 450 Handle<Object> receiver, |
| 453 Handle<JSReceiver> setter, | 451 Handle<JSReceiver> setter, |
| 454 Handle<Object> value) { | 452 Handle<Object> value) { |
| 455 Isolate* isolate = setter->GetIsolate(); | 453 Isolate* isolate = setter->GetIsolate(); |
| 456 | 454 |
| 457 Debug* debug = isolate->debug(); | 455 Debug* debug = isolate->debug(); |
| 458 // Handle stepping into a setter if step into is active. | 456 // Handle stepping into a setter if step into is active. |
| 459 // TODO(rossberg): should this apply to getters that are function proxies? | 457 // TODO(rossberg): should this apply to getters that are function proxies? |
| 460 if (debug->is_active()) { | 458 if (debug->is_active()) debug->HandleStepIn(setter, false); |
| 461 debug->HandleStepIn(setter, Handle<Object>::null(), 0, false); | |
| 462 } | |
| 463 | 459 |
| 464 Handle<Object> argv[] = { value }; | 460 Handle<Object> argv[] = { value }; |
| 465 RETURN_ON_EXCEPTION(isolate, Execution::Call(isolate, setter, receiver, | 461 RETURN_ON_EXCEPTION(isolate, Execution::Call(isolate, setter, receiver, |
| 466 arraysize(argv), argv, true), | 462 arraysize(argv), argv, true), |
| 467 Object); | 463 Object); |
| 468 return value; | 464 return value; |
| 469 } | 465 } |
| 470 | 466 |
| 471 | 467 |
| 472 static bool FindAllCanReadHolder(LookupIterator* it) { | 468 static bool FindAllCanReadHolder(LookupIterator* it) { |
| (...skipping 15658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16131 Handle<Object> new_value) { | 16127 Handle<Object> new_value) { |
| 16132 if (cell->value() != *new_value) { | 16128 if (cell->value() != *new_value) { |
| 16133 cell->set_value(*new_value); | 16129 cell->set_value(*new_value); |
| 16134 Isolate* isolate = cell->GetIsolate(); | 16130 Isolate* isolate = cell->GetIsolate(); |
| 16135 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 16131 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
| 16136 isolate, DependentCode::kPropertyCellChangedGroup); | 16132 isolate, DependentCode::kPropertyCellChangedGroup); |
| 16137 } | 16133 } |
| 16138 } | 16134 } |
| 16139 } // namespace internal | 16135 } // namespace internal |
| 16140 } // namespace v8 | 16136 } // namespace v8 |
| OLD | NEW |