OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/ic/handler-compiler.h" | 7 #include "src/ic/handler-compiler.h" |
8 #include "src/ic/ic-inl.h" | 8 #include "src/ic/ic-inl.h" |
9 #include "src/ic/ic-compiler.h" | 9 #include "src/ic/ic-compiler.h" |
10 | 10 |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 return code; | 373 return code; |
374 } | 374 } |
375 | 375 |
376 | 376 |
377 Handle<Code> PropertyICCompiler::GetCode(Code::Kind kind, Code::StubType type, | 377 Handle<Code> PropertyICCompiler::GetCode(Code::Kind kind, Code::StubType type, |
378 Handle<Name> name, | 378 Handle<Name> name, |
379 InlineCacheState state) { | 379 InlineCacheState state) { |
380 Code::Flags flags = | 380 Code::Flags flags = |
381 Code::ComputeFlags(kind, state, extra_ic_state_, type, cache_holder()); | 381 Code::ComputeFlags(kind, state, extra_ic_state_, type, cache_holder()); |
382 Handle<Code> code = GetCodeWithFlags(flags, name); | 382 Handle<Code> code = GetCodeWithFlags(flags, name); |
383 IC::RegisterWeakMapDependency(code); | |
384 PROFILE(isolate(), CodeCreateEvent(log_kind(code), *code, *name)); | 383 PROFILE(isolate(), CodeCreateEvent(log_kind(code), *code, *name)); |
385 return code; | 384 return code; |
386 } | 385 } |
387 | 386 |
388 | 387 |
389 Handle<Code> PropertyICCompiler::CompileKeyedStorePolymorphic( | 388 Handle<Code> PropertyICCompiler::CompileKeyedStorePolymorphic( |
390 MapHandleList* receiver_maps, KeyedAccessStoreMode store_mode) { | 389 MapHandleList* receiver_maps, KeyedAccessStoreMode store_mode) { |
391 // Collect MONOMORPHIC stubs for all |receiver_maps|. | 390 // Collect MONOMORPHIC stubs for all |receiver_maps|. |
392 CodeHandleList handlers(receiver_maps->length()); | 391 CodeHandleList handlers(receiver_maps->length()); |
393 MapHandleList transitioned_maps(receiver_maps->length()); | 392 MapHandleList transitioned_maps(receiver_maps->length()); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 | 454 |
456 TailCallBuiltin(masm(), Builtins::kKeyedStoreIC_Miss); | 455 TailCallBuiltin(masm(), Builtins::kKeyedStoreIC_Miss); |
457 | 456 |
458 return GetCode(kind(), Code::NORMAL, factory()->empty_string()); | 457 return GetCode(kind(), Code::NORMAL, factory()->empty_string()); |
459 } | 458 } |
460 | 459 |
461 | 460 |
462 #undef __ | 461 #undef __ |
463 } | 462 } |
464 } // namespace v8::internal | 463 } // namespace v8::internal |
OLD | NEW |