Rename Literal::handle to Literal::value

Just a completely mechanical change...

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17576005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
rossberg@chromium.org 2013-06-24 10:37:59 +00:00
parent a8a9fa807a
commit 007837365d
11 changed files with 85 additions and 85 deletions

View File

@ -1692,10 +1692,10 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
ASSERT(!CompileTimeValue::IsCompileTimeValue(property->value())); ASSERT(!CompileTimeValue::IsCompileTimeValue(property->value()));
// Fall through. // Fall through.
case ObjectLiteral::Property::COMPUTED: case ObjectLiteral::Property::COMPUTED:
if (key->handle()->IsInternalizedString()) { if (key->value()->IsInternalizedString()) {
if (property->emit_store()) { if (property->emit_store()) {
VisitForAccumulatorValue(value); VisitForAccumulatorValue(value);
__ mov(r2, Operand(key->handle())); __ mov(r2, Operand(key->value()));
__ ldr(r1, MemOperand(sp)); __ ldr(r1, MemOperand(sp));
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
@ -2261,7 +2261,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
SetSourcePosition(prop->position()); SetSourcePosition(prop->position());
Literal* key = prop->key()->AsLiteral(); Literal* key = prop->key()->AsLiteral();
__ mov(r2, Operand(key->handle())); __ mov(r2, Operand(key->value()));
// Call load IC. It has arguments receiver and property name r0 and r2. // Call load IC. It has arguments receiver and property name r0 and r2.
Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize(); Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
CallIC(ic, RelocInfo::CODE_TARGET, prop->PropertyFeedbackId()); CallIC(ic, RelocInfo::CODE_TARGET, prop->PropertyFeedbackId());
@ -2416,7 +2416,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) {
VisitForAccumulatorValue(prop->obj()); VisitForAccumulatorValue(prop->obj());
__ mov(r1, r0); __ mov(r1, r0);
__ pop(r0); // Restore value. __ pop(r0); // Restore value.
__ mov(r2, Operand(prop->key()->AsLiteral()->handle())); __ mov(r2, Operand(prop->key()->AsLiteral()->value()));
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
: isolate()->builtins()->StoreIC_Initialize_Strict(); : isolate()->builtins()->StoreIC_Initialize_Strict();
@ -2545,7 +2545,7 @@ void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
// Record source code position before IC call. // Record source code position before IC call.
SetSourcePosition(expr->position()); SetSourcePosition(expr->position());
__ mov(r2, Operand(prop->key()->AsLiteral()->handle())); __ mov(r2, Operand(prop->key()->AsLiteral()->value()));
__ pop(r1); __ pop(r1);
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
@ -2819,7 +2819,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
} }
if (property->key()->IsPropertyName()) { if (property->key()->IsPropertyName()) {
EmitCallWithIC(expr, EmitCallWithIC(expr,
property->key()->AsLiteral()->handle(), property->key()->AsLiteral()->value(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);
} else { } else {
EmitKeyedCallWithIC(expr, property->key()); EmitKeyedCallWithIC(expr, property->key());
@ -3427,7 +3427,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
ASSERT(args->length() == 2); ASSERT(args->length() == 2);
ASSERT_NE(NULL, args->at(1)->AsLiteral()); ASSERT_NE(NULL, args->at(1)->AsLiteral());
Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->handle())); Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->value()));
VisitForAccumulatorValue(args->at(0)); // Load the object. VisitForAccumulatorValue(args->at(0)); // Load the object.
@ -3846,7 +3846,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
ASSERT_EQ(2, args->length()); ASSERT_EQ(2, args->length());
ASSERT_NE(NULL, args->at(0)->AsLiteral()); ASSERT_NE(NULL, args->at(0)->AsLiteral());
int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->handle()))->value(); int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->value()))->value();
Handle<FixedArray> jsfunction_result_caches( Handle<FixedArray> jsfunction_result_caches(
isolate()->native_context()->jsfunction_result_caches()); isolate()->native_context()->jsfunction_result_caches());
@ -4519,7 +4519,7 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
} }
break; break;
case NAMED_PROPERTY: { case NAMED_PROPERTY: {
__ mov(r2, Operand(prop->key()->AsLiteral()->handle())); __ mov(r2, Operand(prop->key()->AsLiteral()->value()));
__ pop(r1); __ pop(r1);
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()

View File

@ -57,22 +57,22 @@ AST_NODE_LIST(DECL_ACCEPT)
bool Expression::IsSmiLiteral() { bool Expression::IsSmiLiteral() {
return AsLiteral() != NULL && AsLiteral()->handle()->IsSmi(); return AsLiteral() != NULL && AsLiteral()->value()->IsSmi();
} }
bool Expression::IsStringLiteral() { bool Expression::IsStringLiteral() {
return AsLiteral() != NULL && AsLiteral()->handle()->IsString(); return AsLiteral() != NULL && AsLiteral()->value()->IsString();
} }
bool Expression::IsNullLiteral() { bool Expression::IsNullLiteral() {
return AsLiteral() != NULL && AsLiteral()->handle()->IsNull(); return AsLiteral() != NULL && AsLiteral()->value()->IsNull();
} }
bool Expression::IsUndefinedLiteral() { bool Expression::IsUndefinedLiteral() {
return AsLiteral() != NULL && AsLiteral()->handle()->IsUndefined(); return AsLiteral() != NULL && AsLiteral()->value()->IsUndefined();
} }
@ -189,7 +189,7 @@ ObjectLiteralProperty::ObjectLiteralProperty(Literal* key,
emit_store_ = true; emit_store_ = true;
key_ = key; key_ = key;
value_ = value; value_ = value;
Object* k = *key->handle(); Object* k = *key->value();
if (k->IsInternalizedString() && if (k->IsInternalizedString() &&
isolate->heap()->proto_string()->Equals(String::cast(k))) { isolate->heap()->proto_string()->Equals(String::cast(k))) {
kind_ = PROTOTYPE; kind_ = PROTOTYPE;
@ -263,7 +263,7 @@ void ObjectLiteral::CalculateEmitStore(Zone* zone) {
for (int i = properties()->length() - 1; i >= 0; i--) { for (int i = properties()->length() - 1; i >= 0; i--) {
ObjectLiteral::Property* property = properties()->at(i); ObjectLiteral::Property* property = properties()->at(i);
Literal* literal = property->key(); Literal* literal = property->key();
if (literal->handle()->IsNull()) continue; if (literal->value()->IsNull()) continue;
uint32_t hash = literal->Hash(); uint32_t hash = literal->Hash();
// If the key of a computed property is in the table, do not emit // If the key of a computed property is in the table, do not emit
// a store for the property later. // a store for the property later.
@ -338,7 +338,7 @@ static bool MatchLiteralCompareTypeof(Expression* left,
Handle<String>* check) { Handle<String>* check) {
if (IsTypeof(left) && right->IsStringLiteral() && Token::IsEqualityOp(op)) { if (IsTypeof(left) && right->IsStringLiteral() && Token::IsEqualityOp(op)) {
*expr = left->AsUnaryOperation()->expression(); *expr = left->AsUnaryOperation()->expression();
*check = Handle<String>::cast(right->AsLiteral()->handle()); *check = Handle<String>::cast(right->AsLiteral()->value());
return true; return true;
} }
return false; return false;
@ -449,8 +449,8 @@ void Property::RecordTypeFeedback(TypeFeedbackOracle* oracle,
is_function_prototype_ = true; is_function_prototype_ = true;
} else { } else {
Literal* lit_key = key()->AsLiteral(); Literal* lit_key = key()->AsLiteral();
ASSERT(lit_key != NULL && lit_key->handle()->IsString()); ASSERT(lit_key != NULL && lit_key->value()->IsString());
Handle<String> name = Handle<String>::cast(lit_key->handle()); Handle<String> name = Handle<String>::cast(lit_key->value());
oracle->LoadReceiverTypes(this, name, &receiver_types_); oracle->LoadReceiverTypes(this, name, &receiver_types_);
} }
} else if (oracle->LoadIsBuiltin(this, Builtins::kKeyedLoadIC_String)) { } else if (oracle->LoadIsBuiltin(this, Builtins::kKeyedLoadIC_String)) {
@ -476,8 +476,8 @@ void Assignment::RecordTypeFeedback(TypeFeedbackOracle* oracle,
receiver_types_.Clear(); receiver_types_.Clear();
if (prop->key()->IsPropertyName()) { if (prop->key()->IsPropertyName()) {
Literal* lit_key = prop->key()->AsLiteral(); Literal* lit_key = prop->key()->AsLiteral();
ASSERT(lit_key != NULL && lit_key->handle()->IsString()); ASSERT(lit_key != NULL && lit_key->value()->IsString());
Handle<String> name = Handle<String>::cast(lit_key->handle()); Handle<String> name = Handle<String>::cast(lit_key->value());
oracle->StoreReceiverTypes(this, name, &receiver_types_); oracle->StoreReceiverTypes(this, name, &receiver_types_);
} else if (is_monomorphic_) { } else if (is_monomorphic_) {
// Record receiver type for monomorphic keyed stores. // Record receiver type for monomorphic keyed stores.
@ -619,8 +619,8 @@ void Call::RecordTypeFeedback(TypeFeedbackOracle* oracle,
} else { } else {
// Method call. Specialize for the receiver types seen at runtime. // Method call. Specialize for the receiver types seen at runtime.
Literal* key = property->key()->AsLiteral(); Literal* key = property->key()->AsLiteral();
ASSERT(key != NULL && key->handle()->IsString()); ASSERT(key != NULL && key->value()->IsString());
Handle<String> name = Handle<String>::cast(key->handle()); Handle<String> name = Handle<String>::cast(key->value());
receiver_types_.Clear(); receiver_types_.Clear();
oracle->CallReceiverTypes(this, name, call_kind, &receiver_types_); oracle->CallReceiverTypes(this, name, call_kind, &receiver_types_);
#ifdef DEBUG #ifdef DEBUG
@ -1152,18 +1152,18 @@ void AstConstructionVisitor::VisitCallRuntime(CallRuntime* node) {
Handle<String> Literal::ToString() { Handle<String> Literal::ToString() {
if (handle_->IsString()) return Handle<String>::cast(handle_); if (value_->IsString()) return Handle<String>::cast(value_);
Factory* factory = Isolate::Current()->factory(); Factory* factory = Isolate::Current()->factory();
ASSERT(handle_->IsNumber()); ASSERT(value_->IsNumber());
char arr[100]; char arr[100];
Vector<char> buffer(arr, ARRAY_SIZE(arr)); Vector<char> buffer(arr, ARRAY_SIZE(arr));
const char* str; const char* str;
if (handle_->IsSmi()) { if (value_->IsSmi()) {
// Optimization only, the heap number case would subsume this. // Optimization only, the heap number case would subsume this.
OS::SNPrintF(buffer, "%d", Smi::cast(*handle_)->value()); OS::SNPrintF(buffer, "%d", Smi::cast(*value_)->value());
str = arr; str = arr;
} else { } else {
str = DoubleToCString(handle_->Number(), buffer); str = DoubleToCString(value_->Number(), buffer);
} }
return factory->NewStringFromAscii(CStrVector(str)); return factory->NewStringFromAscii(CStrVector(str));
} }

View File

@ -1312,36 +1312,36 @@ class Literal: public Expression {
DECLARE_NODE_TYPE(Literal) DECLARE_NODE_TYPE(Literal)
virtual bool IsPropertyName() { virtual bool IsPropertyName() {
if (handle_->IsInternalizedString()) { if (value_->IsInternalizedString()) {
uint32_t ignored; uint32_t ignored;
return !String::cast(*handle_)->AsArrayIndex(&ignored); return !String::cast(*value_)->AsArrayIndex(&ignored);
} }
return false; return false;
} }
Handle<String> AsPropertyName() { Handle<String> AsPropertyName() {
ASSERT(IsPropertyName()); ASSERT(IsPropertyName());
return Handle<String>::cast(handle_); return Handle<String>::cast(value_);
} }
virtual bool ToBooleanIsTrue() { return handle_->BooleanValue(); } virtual bool ToBooleanIsTrue() { return value_->BooleanValue(); }
virtual bool ToBooleanIsFalse() { return !handle_->BooleanValue(); } virtual bool ToBooleanIsFalse() { return !value_->BooleanValue(); }
// Identity testers. // Identity testers.
bool IsNull() const { bool IsNull() const {
ASSERT(!handle_.is_null()); ASSERT(!value_.is_null());
return handle_->IsNull(); return value_->IsNull();
} }
bool IsTrue() const { bool IsTrue() const {
ASSERT(!handle_.is_null()); ASSERT(!value_.is_null());
return handle_->IsTrue(); return value_->IsTrue();
} }
bool IsFalse() const { bool IsFalse() const {
ASSERT(!handle_.is_null()); ASSERT(!value_.is_null());
return handle_->IsFalse(); return value_->IsFalse();
} }
Handle<Object> handle() const { return handle_; } Handle<Object> value() const { return value_; }
// Support for using Literal as a HashMap key. NOTE: Currently, this works // Support for using Literal as a HashMap key. NOTE: Currently, this works
// only for string and number literals! // only for string and number literals!
@ -1356,14 +1356,14 @@ class Literal: public Expression {
TypeFeedbackId LiteralFeedbackId() const { return reuse(id()); } TypeFeedbackId LiteralFeedbackId() const { return reuse(id()); }
protected: protected:
Literal(Isolate* isolate, Handle<Object> handle) Literal(Isolate* isolate, Handle<Object> value)
: Expression(isolate), : Expression(isolate),
handle_(handle) { } value_(value) { }
private: private:
Handle<String> ToString(); Handle<String> ToString();
Handle<Object> handle_; Handle<Object> value_;
}; };

View File

@ -178,7 +178,7 @@ bool CodeGenerator::ShouldGenerateLog(Expression* type) {
!isolate->cpu_profiler()->is_profiling()) { !isolate->cpu_profiler()->is_profiling()) {
return false; return false;
} }
Handle<String> name = Handle<String>::cast(type->AsLiteral()->handle()); Handle<String> name = Handle<String>::cast(type->AsLiteral()->value());
if (FLAG_log_regexp) { if (FLAG_log_regexp) {
if (name->IsOneByteEqualTo(STATIC_ASCII_VECTOR("regexp"))) if (name->IsOneByteEqualTo(STATIC_ASCII_VECTOR("regexp")))
return true; return true;

View File

@ -1545,7 +1545,7 @@ void FullCodeGenerator::VisitConditional(Conditional* expr) {
void FullCodeGenerator::VisitLiteral(Literal* expr) { void FullCodeGenerator::VisitLiteral(Literal* expr) {
Comment cmnt(masm_, "[ Literal"); Comment cmnt(masm_, "[ Literal");
context()->Plug(expr->handle()); context()->Plug(expr->value());
} }

View File

@ -5677,7 +5677,7 @@ void HOptimizedGraphBuilder::VisitLiteral(Literal* expr) {
ASSERT(!HasStackOverflow()); ASSERT(!HasStackOverflow());
ASSERT(current_block() != NULL); ASSERT(current_block() != NULL);
ASSERT(current_block()->HasPredecessor()); ASSERT(current_block()->HasPredecessor());
HConstant* instr = new(zone()) HConstant(expr->handle()); HConstant* instr = new(zone()) HConstant(expr->value());
return ast_context()->ReturnInstruction(instr, expr->id()); return ast_context()->ReturnInstruction(instr, expr->id());
} }
@ -5938,7 +5938,7 @@ void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) {
ASSERT(!CompileTimeValue::IsCompileTimeValue(value)); ASSERT(!CompileTimeValue::IsCompileTimeValue(value));
// Fall through. // Fall through.
case ObjectLiteral::Property::COMPUTED: case ObjectLiteral::Property::COMPUTED:
if (key->handle()->IsInternalizedString()) { if (key->value()->IsInternalizedString()) {
if (property->emit_store()) { if (property->emit_store()) {
CHECK_ALIVE(VisitForValue(value)); CHECK_ALIVE(VisitForValue(value));
HValue* value = Pop(); HValue* value = Pop();
@ -6591,7 +6591,7 @@ void HOptimizedGraphBuilder::BuildStoreNamed(Expression* expr,
HValue* object, HValue* object,
HValue* value) { HValue* value) {
Literal* key = prop->key()->AsLiteral(); Literal* key = prop->key()->AsLiteral();
Handle<String> name = Handle<String>::cast(key->handle()); Handle<String> name = Handle<String>::cast(key->value());
ASSERT(!name.is_null()); ASSERT(!name.is_null());
HInstruction* instr = NULL; HInstruction* instr = NULL;
@ -9506,7 +9506,7 @@ static bool IsClassOfTest(CompareOperation* expr) {
if (call == NULL) return false; if (call == NULL) return false;
Literal* literal = expr->right()->AsLiteral(); Literal* literal = expr->right()->AsLiteral();
if (literal == NULL) return false; if (literal == NULL) return false;
if (!literal->handle()->IsString()) return false; if (!literal->value()->IsString()) return false;
if (!call->name()->IsOneByteEqualTo(STATIC_ASCII_VECTOR("_ClassOf"))) { if (!call->name()->IsOneByteEqualTo(STATIC_ASCII_VECTOR("_ClassOf"))) {
return false; return false;
} }
@ -9752,7 +9752,7 @@ void HOptimizedGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); CHECK_ALIVE(VisitForValue(call->arguments()->at(0)));
HValue* value = Pop(); HValue* value = Pop();
Literal* literal = expr->right()->AsLiteral(); Literal* literal = expr->right()->AsLiteral();
Handle<String> rhs = Handle<String>::cast(literal->handle()); Handle<String> rhs = Handle<String>::cast(literal->value());
HClassOfTestAndBranch* instr = HClassOfTestAndBranch* instr =
new(zone()) HClassOfTestAndBranch(value, rhs); new(zone()) HClassOfTestAndBranch(value, rhs);
instr->set_position(expr->position()); instr->set_position(expr->position());
@ -10543,7 +10543,7 @@ void HOptimizedGraphBuilder::GenerateValueOf(CallRuntime* call) {
void HOptimizedGraphBuilder::GenerateDateField(CallRuntime* call) { void HOptimizedGraphBuilder::GenerateDateField(CallRuntime* call) {
ASSERT(call->arguments()->length() == 2); ASSERT(call->arguments()->length() == 2);
ASSERT_NE(NULL, call->arguments()->at(1)->AsLiteral()); ASSERT_NE(NULL, call->arguments()->at(1)->AsLiteral());
Smi* index = Smi::cast(*(call->arguments()->at(1)->AsLiteral()->handle())); Smi* index = Smi::cast(*(call->arguments()->at(1)->AsLiteral()->value()));
CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); CHECK_ALIVE(VisitForValue(call->arguments()->at(0)));
HValue* date = Pop(); HValue* date = Pop();
HDateField* result = new(zone()) HDateField(date, index); HDateField* result = new(zone()) HDateField(date, index);

View File

@ -1639,10 +1639,10 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
ASSERT(!CompileTimeValue::IsCompileTimeValue(value)); ASSERT(!CompileTimeValue::IsCompileTimeValue(value));
// Fall through. // Fall through.
case ObjectLiteral::Property::COMPUTED: case ObjectLiteral::Property::COMPUTED:
if (key->handle()->IsInternalizedString()) { if (key->value()->IsInternalizedString()) {
if (property->emit_store()) { if (property->emit_store()) {
VisitForAccumulatorValue(value); VisitForAccumulatorValue(value);
__ mov(ecx, Immediate(key->handle())); __ mov(ecx, Immediate(key->value()));
__ mov(edx, Operand(esp, 0)); __ mov(edx, Operand(esp, 0));
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
@ -2221,8 +2221,8 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
SetSourcePosition(prop->position()); SetSourcePosition(prop->position());
Literal* key = prop->key()->AsLiteral(); Literal* key = prop->key()->AsLiteral();
ASSERT(!key->handle()->IsSmi()); ASSERT(!key->value()->IsSmi());
__ mov(ecx, Immediate(key->handle())); __ mov(ecx, Immediate(key->value()));
Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize(); Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
CallIC(ic, RelocInfo::CODE_TARGET, prop->PropertyFeedbackId()); CallIC(ic, RelocInfo::CODE_TARGET, prop->PropertyFeedbackId());
} }
@ -2376,7 +2376,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) {
VisitForAccumulatorValue(prop->obj()); VisitForAccumulatorValue(prop->obj());
__ mov(edx, eax); __ mov(edx, eax);
__ pop(eax); // Restore value. __ pop(eax); // Restore value.
__ mov(ecx, prop->key()->AsLiteral()->handle()); __ mov(ecx, prop->key()->AsLiteral()->value());
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
: isolate()->builtins()->StoreIC_Initialize_Strict(); : isolate()->builtins()->StoreIC_Initialize_Strict();
@ -2503,7 +2503,7 @@ void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
// Record source code position before IC call. // Record source code position before IC call.
SetSourcePosition(expr->position()); SetSourcePosition(expr->position());
__ mov(ecx, prop->key()->AsLiteral()->handle()); __ mov(ecx, prop->key()->AsLiteral()->value());
__ pop(edx); __ pop(edx);
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
@ -2768,7 +2768,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
} }
if (property->key()->IsPropertyName()) { if (property->key()->IsPropertyName()) {
EmitCallWithIC(expr, EmitCallWithIC(expr,
property->key()->AsLiteral()->handle(), property->key()->AsLiteral()->value(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);
} else { } else {
EmitKeyedCallWithIC(expr, property->key()); EmitKeyedCallWithIC(expr, property->key());
@ -3386,7 +3386,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
ASSERT(args->length() == 2); ASSERT(args->length() == 2);
ASSERT_NE(NULL, args->at(1)->AsLiteral()); ASSERT_NE(NULL, args->at(1)->AsLiteral());
Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->handle())); Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->value()));
VisitForAccumulatorValue(args->at(0)); // Load the object. VisitForAccumulatorValue(args->at(0)); // Load the object.
@ -3815,7 +3815,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
ASSERT_EQ(2, args->length()); ASSERT_EQ(2, args->length());
ASSERT_NE(NULL, args->at(0)->AsLiteral()); ASSERT_NE(NULL, args->at(0)->AsLiteral());
int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->handle()))->value(); int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->value()))->value();
Handle<FixedArray> jsfunction_result_caches( Handle<FixedArray> jsfunction_result_caches(
isolate()->native_context()->jsfunction_result_caches()); isolate()->native_context()->jsfunction_result_caches());
@ -4527,7 +4527,7 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
} }
break; break;
case NAMED_PROPERTY: { case NAMED_PROPERTY: {
__ mov(ecx, prop->key()->AsLiteral()->handle()); __ mov(ecx, prop->key()->AsLiteral()->value());
__ pop(edx); __ pop(edx);
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()

View File

@ -889,8 +889,8 @@ void* Parser::ParseSourceElements(ZoneList<Statement*>* processor,
// Still processing directive prologue? // Still processing directive prologue?
if ((e_stat = stat->AsExpressionStatement()) != NULL && if ((e_stat = stat->AsExpressionStatement()) != NULL &&
(literal = e_stat->expression()->AsLiteral()) != NULL && (literal = e_stat->expression()->AsLiteral()) != NULL &&
literal->handle()->IsString()) { literal->value()->IsString()) {
Handle<String> directive = Handle<String>::cast(literal->handle()); Handle<String> directive = Handle<String>::cast(literal->value());
// Check "use strict" directive (ES5 14.1). // Check "use strict" directive (ES5 14.1).
if (top_scope_->is_classic_mode() && if (top_scope_->is_classic_mode() &&
@ -3067,10 +3067,10 @@ Expression* Parser::ParseBinaryExpression(int prec, bool accept_IN, bool* ok) {
Expression* y = ParseBinaryExpression(prec1 + 1, accept_IN, CHECK_OK); Expression* y = ParseBinaryExpression(prec1 + 1, accept_IN, CHECK_OK);
// Compute some expressions involving only number literals. // Compute some expressions involving only number literals.
if (x && x->AsLiteral() && x->AsLiteral()->handle()->IsNumber() && if (x && x->AsLiteral() && x->AsLiteral()->value()->IsNumber() &&
y && y->AsLiteral() && y->AsLiteral()->handle()->IsNumber()) { y && y->AsLiteral() && y->AsLiteral()->value()->IsNumber()) {
double x_val = x->AsLiteral()->handle()->Number(); double x_val = x->AsLiteral()->value()->Number();
double y_val = y->AsLiteral()->handle()->Number(); double y_val = y->AsLiteral()->value()->Number();
switch (op) { switch (op) {
case Token::ADD: case Token::ADD:
@ -3169,7 +3169,7 @@ Expression* Parser::ParseUnaryExpression(bool* ok) {
Expression* expression = ParseUnaryExpression(CHECK_OK); Expression* expression = ParseUnaryExpression(CHECK_OK);
if (expression != NULL && (expression->AsLiteral() != NULL)) { if (expression != NULL && (expression->AsLiteral() != NULL)) {
Handle<Object> literal = expression->AsLiteral()->handle(); Handle<Object> literal = expression->AsLiteral()->value();
if (op == Token::NOT) { if (op == Token::NOT) {
// Convert the literal to a boolean condition and negate it. // Convert the literal to a boolean condition and negate it.
bool condition = literal->BooleanValue(); bool condition = literal->BooleanValue();
@ -3783,7 +3783,7 @@ Handle<FixedArray> CompileTimeValue::GetElements(Handle<FixedArray> value) {
Handle<Object> Parser::GetBoilerplateValue(Expression* expression) { Handle<Object> Parser::GetBoilerplateValue(Expression* expression) {
if (expression->AsLiteral() != NULL) { if (expression->AsLiteral() != NULL) {
return expression->AsLiteral()->handle(); return expression->AsLiteral()->value();
} }
if (CompileTimeValue::IsCompileTimeValue(expression)) { if (CompileTimeValue::IsCompileTimeValue(expression)) {
return CompileTimeValue::GetValue(expression); return CompileTimeValue::GetValue(expression);
@ -3896,7 +3896,7 @@ void Parser::BuildObjectLiteralConstantProperties(
// Add CONSTANT and COMPUTED properties to boilerplate. Use undefined // Add CONSTANT and COMPUTED properties to boilerplate. Use undefined
// value for COMPUTED properties, the real value is filled in at // value for COMPUTED properties, the real value is filled in at
// runtime. The enumeration order is maintained. // runtime. The enumeration order is maintained.
Handle<Object> key = property->key()->handle(); Handle<Object> key = property->key()->value();
Handle<Object> value = GetBoilerplateValue(property->value()); Handle<Object> value = GetBoilerplateValue(property->value());
// Ensure objects that may, at any point in time, contain fields with double // Ensure objects that may, at any point in time, contain fields with double

View File

@ -315,7 +315,7 @@ void PrettyPrinter::VisitConditional(Conditional* node) {
void PrettyPrinter::VisitLiteral(Literal* node) { void PrettyPrinter::VisitLiteral(Literal* node) {
PrintLiteral(node->handle(), true); PrintLiteral(node->value(), true);
} }
@ -379,11 +379,11 @@ void PrettyPrinter::VisitThrow(Throw* node) {
void PrettyPrinter::VisitProperty(Property* node) { void PrettyPrinter::VisitProperty(Property* node) {
Expression* key = node->key(); Expression* key = node->key();
Literal* literal = key->AsLiteral(); Literal* literal = key->AsLiteral();
if (literal != NULL && literal->handle()->IsInternalizedString()) { if (literal != NULL && literal->value()->IsInternalizedString()) {
Print("("); Print("(");
Visit(node->obj()); Visit(node->obj());
Print(")."); Print(").");
PrintLiteral(literal->handle(), false); PrintLiteral(literal->value(), false);
} else { } else {
Visit(node->obj()); Visit(node->obj());
Print("["); Print("[");
@ -999,7 +999,7 @@ void AstPrinter::VisitConditional(Conditional* node) {
// TODO(svenpanne) Start with IndentedScope. // TODO(svenpanne) Start with IndentedScope.
void AstPrinter::VisitLiteral(Literal* node) { void AstPrinter::VisitLiteral(Literal* node) {
PrintLiteralIndented("LITERAL", node->handle(), true); PrintLiteralIndented("LITERAL", node->value(), true);
} }
@ -1102,8 +1102,8 @@ void AstPrinter::VisitProperty(Property* node) {
IndentedScope indent(this, "PROPERTY"); IndentedScope indent(this, "PROPERTY");
Visit(node->obj()); Visit(node->obj());
Literal* literal = node->key()->AsLiteral(); Literal* literal = node->key()->AsLiteral();
if (literal != NULL && literal->handle()->IsInternalizedString()) { if (literal != NULL && literal->value()->IsInternalizedString()) {
PrintLiteralIndented("NAME", literal->handle(), false); PrintLiteralIndented("NAME", literal->value(), false);
} else { } else {
PrintIndentedVisit("KEY", node->key()); PrintIndentedVisit("KEY", node->key());
} }

View File

@ -295,7 +295,7 @@ void AstTyper::VisitObjectLiteral(ObjectLiteral* expr) {
if ((prop->kind() == ObjectLiteral::Property::MATERIALIZED_LITERAL && if ((prop->kind() == ObjectLiteral::Property::MATERIALIZED_LITERAL &&
!CompileTimeValue::IsCompileTimeValue(prop->value())) || !CompileTimeValue::IsCompileTimeValue(prop->value())) ||
prop->kind() == ObjectLiteral::Property::COMPUTED) { prop->kind() == ObjectLiteral::Property::COMPUTED) {
if (prop->key()->handle()->IsInternalizedString() && prop->emit_store()) if (prop->key()->value()->IsInternalizedString() && prop->emit_store())
prop->RecordTypeFeedback(oracle()); prop->RecordTypeFeedback(oracle());
} }
} }

View File

@ -1663,10 +1663,10 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
ASSERT(!CompileTimeValue::IsCompileTimeValue(value)); ASSERT(!CompileTimeValue::IsCompileTimeValue(value));
// Fall through. // Fall through.
case ObjectLiteral::Property::COMPUTED: case ObjectLiteral::Property::COMPUTED:
if (key->handle()->IsInternalizedString()) { if (key->value()->IsInternalizedString()) {
if (property->emit_store()) { if (property->emit_store()) {
VisitForAccumulatorValue(value); VisitForAccumulatorValue(value);
__ Move(rcx, key->handle()); __ Move(rcx, key->value());
__ movq(rdx, Operand(rsp, 0)); __ movq(rdx, Operand(rsp, 0));
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
@ -2247,7 +2247,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) { void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
SetSourcePosition(prop->position()); SetSourcePosition(prop->position());
Literal* key = prop->key()->AsLiteral(); Literal* key = prop->key()->AsLiteral();
__ Move(rcx, key->handle()); __ Move(rcx, key->value());
Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize(); Handle<Code> ic = isolate()->builtins()->LoadIC_Initialize();
CallIC(ic, RelocInfo::CODE_TARGET, prop->PropertyFeedbackId()); CallIC(ic, RelocInfo::CODE_TARGET, prop->PropertyFeedbackId());
} }
@ -2366,7 +2366,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) {
VisitForAccumulatorValue(prop->obj()); VisitForAccumulatorValue(prop->obj());
__ movq(rdx, rax); __ movq(rdx, rax);
__ pop(rax); // Restore value. __ pop(rax); // Restore value.
__ Move(rcx, prop->key()->AsLiteral()->handle()); __ Move(rcx, prop->key()->AsLiteral()->value());
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
: isolate()->builtins()->StoreIC_Initialize_Strict(); : isolate()->builtins()->StoreIC_Initialize_Strict();
@ -2489,7 +2489,7 @@ void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
// Record source code position before IC call. // Record source code position before IC call.
SetSourcePosition(expr->position()); SetSourcePosition(expr->position());
__ Move(rcx, prop->key()->AsLiteral()->handle()); __ Move(rcx, prop->key()->AsLiteral()->value());
__ pop(rdx); __ pop(rdx);
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()
@ -2749,7 +2749,7 @@ void FullCodeGenerator::VisitCall(Call* expr) {
} }
if (property->key()->IsPropertyName()) { if (property->key()->IsPropertyName()) {
EmitCallWithIC(expr, EmitCallWithIC(expr,
property->key()->AsLiteral()->handle(), property->key()->AsLiteral()->value(),
RelocInfo::CODE_TARGET); RelocInfo::CODE_TARGET);
} else { } else {
EmitKeyedCallWithIC(expr, property->key()); EmitKeyedCallWithIC(expr, property->key());
@ -3354,7 +3354,7 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
ZoneList<Expression*>* args = expr->arguments(); ZoneList<Expression*>* args = expr->arguments();
ASSERT(args->length() == 2); ASSERT(args->length() == 2);
ASSERT_NE(NULL, args->at(1)->AsLiteral()); ASSERT_NE(NULL, args->at(1)->AsLiteral());
Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->handle())); Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->value()));
VisitForAccumulatorValue(args->at(0)); // Load the object. VisitForAccumulatorValue(args->at(0)); // Load the object.
@ -3775,7 +3775,7 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
ASSERT_EQ(2, args->length()); ASSERT_EQ(2, args->length());
ASSERT_NE(NULL, args->at(0)->AsLiteral()); ASSERT_NE(NULL, args->at(0)->AsLiteral());
int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->handle()))->value(); int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->value()))->value();
Handle<FixedArray> jsfunction_result_caches( Handle<FixedArray> jsfunction_result_caches(
isolate()->native_context()->jsfunction_result_caches()); isolate()->native_context()->jsfunction_result_caches());
@ -4513,7 +4513,7 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
} }
break; break;
case NAMED_PROPERTY: { case NAMED_PROPERTY: {
__ Move(rcx, prop->key()->AsLiteral()->handle()); __ Move(rcx, prop->key()->AsLiteral()->value());
__ pop(rdx); __ pop(rdx);
Handle<Code> ic = is_classic_mode() Handle<Code> ic = is_classic_mode()
? isolate()->builtins()->StoreIC_Initialize() ? isolate()->builtins()->StoreIC_Initialize()