summaryrefslogtreecommitdiff
path: root/deps/v8/src/x64/codegen-x64.h
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2010-07-21 12:31:43 -0700
committerRyan Dahl <ry@tinyclouds.org>2010-07-21 12:31:46 -0700
commite4eeaa7fbcce054e372633cd3724c530e26e5a54 (patch)
tree35704f53ac8f13b6237b8c22f1150254f32454de /deps/v8/src/x64/codegen-x64.h
parent07ab34cd582cf0bf75794c6b064cf70a44c8df6b (diff)
downloadnode-e4eeaa7fbcce054e372633cd3724c530e26e5a54.tar.gz
Upgrade V8 to 2.3.2
Diffstat (limited to 'deps/v8/src/x64/codegen-x64.h')
-rw-r--r--deps/v8/src/x64/codegen-x64.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/deps/v8/src/x64/codegen-x64.h b/deps/v8/src/x64/codegen-x64.h
index b9a3b7063..5863317b0 100644
--- a/deps/v8/src/x64/codegen-x64.h
+++ b/deps/v8/src/x64/codegen-x64.h
@@ -454,9 +454,17 @@ class CodeGenerator: public AstVisitor {
// value in place.
void StoreToSlot(Slot* slot, InitState init_state);
+ // Support for compiling assignment expressions.
+ void EmitSlotAssignment(Assignment* node);
+ void EmitNamedPropertyAssignment(Assignment* node);
+
// Receiver is passed on the frame and not consumed.
Result EmitNamedLoad(Handle<String> name, bool is_contextual);
+ // If the store is contextual, value is passed on the frame and consumed.
+ // Otherwise, receiver and value are passed on the frame and consumed.
+ Result EmitNamedStore(Handle<String> name, bool is_contextual);
+
// Load a property of an object, returning it in a Result.
// The object and the property name are passed on the stack, and
// not changed.
@@ -521,6 +529,17 @@ class CodeGenerator: public AstVisitor {
Condition cc,
bool strict,
ControlDestination* destination);
+
+ // If at least one of the sides is a constant smi, generate optimized code.
+ void ConstantSmiComparison(Condition cc,
+ bool strict,
+ ControlDestination* destination,
+ Result* left_side,
+ Result* right_side,
+ bool left_side_constant_smi,
+ bool right_side_constant_smi,
+ bool is_loop_condition);
+
void GenerateInlineNumberComparison(Result* left_side,
Result* right_side,
Condition cc,
@@ -578,6 +597,7 @@ class CodeGenerator: public AstVisitor {
void GenerateIsArray(ZoneList<Expression*>* args);
void GenerateIsRegExp(ZoneList<Expression*>* args);
void GenerateIsObject(ZoneList<Expression*>* args);
+ void GenerateIsSpecObject(ZoneList<Expression*>* args);
void GenerateIsFunction(ZoneList<Expression*>* args);
void GenerateIsUndetectableObject(ZoneList<Expression*>* args);