v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
ast-value-factory.cc File Reference
Include dependency graph for ast-value-factory.cc:

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define F(name, str)
 

Macro Definition Documentation

◆ F

#define F ( name,
str )
Value:
{ \
static const char data[] = str; \
base::Vector<const uint8_t> literal( \
reinterpret_cast<const uint8_t*>(data), \
static_cast<int>(arraysize(data) - 1)); \
IndirectHandle<String> handle = isolate->factory()->name(); \
uint32_t raw_hash_field = handle->raw_hash_field(); \
DCHECK_EQ(raw_hash_field, \
StringHasher::HashSequentialString<uint8_t>( \
literal.begin(), literal.length(), hash_seed_)); \
DCHECK_EQ(literal.length(), handle->length()); \
name##_ = zone_.New<AstRawString>(true, literal, raw_hash_field); \
/* The Handle returned by the factory is located on the roots */ \
/* array, not on the temporary HandleScope, so this is safe. */ \
name##_->set_string(handle); \
string_table_.InsertNew(name##_, name##_->Hash()); \
}
Zone * zone_
#define _
FunctionLiteral * literal
Definition liveedit.cc:294
#define arraysize(array)
Definition macros.h:67

Variable Documentation

◆ literal_bytes_

base::Vector<const uint8_t> literal_bytes_
private

Definition at line 55 of file ast-value-factory.cc.

◆ pos_

int pos_
private

Definition at line 56 of file ast-value-factory.cc.