Line data Source code
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
3 : // found in the LICENSE file.
4 :
5 : #include "src/compiler/common-node-cache.h"
6 :
7 : #include "src/compiler/node.h"
8 : #include "src/external-reference.h"
9 :
10 : namespace v8 {
11 : namespace internal {
12 : namespace compiler {
13 :
14 2354345 : Node** CommonNodeCache::FindExternalConstant(ExternalReference value) {
15 2354345 : return external_constants_.Find(zone(), bit_cast<intptr_t>(value.address()));
16 : }
17 :
18 :
19 13841517 : Node** CommonNodeCache::FindHeapConstant(Handle<HeapObject> value) {
20 13841517 : return heap_constants_.Find(zone(), bit_cast<intptr_t>(value.address()));
21 : }
22 :
23 :
24 4718847 : void CommonNodeCache::GetCachedNodes(ZoneVector<Node*>* nodes) {
25 4718847 : int32_constants_.GetCachedNodes(nodes);
26 4718875 : int64_constants_.GetCachedNodes(nodes);
27 4718880 : float32_constants_.GetCachedNodes(nodes);
28 4718886 : float64_constants_.GetCachedNodes(nodes);
29 4718886 : external_constants_.GetCachedNodes(nodes);
30 4718887 : number_constants_.GetCachedNodes(nodes);
31 4718911 : heap_constants_.GetCachedNodes(nodes);
32 4718912 : relocatable_int32_constants_.GetCachedNodes(nodes);
33 4718900 : relocatable_int64_constants_.GetCachedNodes(nodes);
34 4718890 : }
35 :
36 : } // namespace compiler
37 : } // namespace internal
38 120216 : } // namespace v8
|