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 |