Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Unified Diff: runtime/vm/intrinsifier.cc

Issue 1390153004: Move deopt_id and related helpers/definitions from Isolate to Thread (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/intrinsifier.cc
diff --git a/runtime/vm/intrinsifier.cc b/runtime/vm/intrinsifier.cc
index bc1e24b047b156f1e6acd358a38eced7e32ea40f..83681cd7662f4029f932509763987da78dcc85a2 100644
--- a/runtime/vm/intrinsifier.cc
+++ b/runtime/vm/intrinsifier.cc
@@ -133,14 +133,14 @@ bool Intrinsifier::GraphIntrinsify(const ParsedFunction& parsed_function,
FlowGraphBuilder builder(parsed_function,
*ic_data_array,
NULL, // NULL = not inlining.
- Isolate::kNoDeoptId); // No OSR id.
+ Thread::kNoDeoptId); // No OSR id.
intptr_t block_id = builder.AllocateBlockId();
TargetEntryInstr* normal_entry =
new TargetEntryInstr(block_id,
CatchClauseNode::kInvalidTryIndex);
GraphEntryInstr* graph_entry = new GraphEntryInstr(
- parsed_function, normal_entry, Isolate::kNoDeoptId); // No OSR id.
+ parsed_function, normal_entry, Thread::kNoDeoptId); // No OSR id.
FlowGraph* graph = new FlowGraph(parsed_function, graph_entry, block_id);
const Function& function = parsed_function.function();
switch (function.recognized_kind()) {
@@ -274,7 +274,7 @@ class BlockBuilder : public ValueObject {
Definition* AddUnboxInstr(Representation rep, Value* value) {
Definition* unboxed_value = AddDefinition(
- UnboxInstr::Create(rep, value, Isolate::kNoDeoptId));
+ UnboxInstr::Create(rep, value, Thread::kNoDeoptId));
// Manually adjust reaching type because there is no type propagation
// when building intrinsics.
unboxed_value->AsUnbox()->value()->SetReachingType(ZoneCompileType::Wrap(
@@ -296,7 +296,7 @@ static void PrepareIndexedOp(BlockBuilder* builder,
intptr_t token_pos = builder->TokenPos();
builder->AddInstruction(
new CheckSmiInstr(new Value(index),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
token_pos));
Definition* length = builder->AddDefinition(
@@ -307,7 +307,7 @@ static void PrepareIndexedOp(BlockBuilder* builder,
builder->AddInstruction(
new CheckArrayBoundInstr(new Value(length),
new Value(index),
- Isolate::kNoDeoptId));
+ Thread::kNoDeoptId));
}
@@ -326,7 +326,7 @@ bool Intrinsifier::Build_ObjectArrayGetIndexed(FlowGraph* flow_graph) {
new Value(index),
Instance::ElementSizeFor(kArrayCid), // index scale
kArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
builder.AddIntrinsicReturn(new Value(result));
return true;
@@ -353,7 +353,7 @@ bool Intrinsifier::Build_Uint8ArrayGetIndexed(FlowGraph* flow_graph) {
new Value(index),
1, // index scale
kTypedDataUint8ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
builder.AddIntrinsicReturn(new Value(result));
return true;
@@ -378,7 +378,7 @@ bool Intrinsifier::Build_ExternalUint8ArrayGetIndexed(FlowGraph* flow_graph) {
new Value(index),
1, // index scale
kExternalTypedDataUint8ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
builder.AddIntrinsicReturn(new Value(result));
return true;
@@ -398,7 +398,7 @@ bool Intrinsifier::Build_Uint8ArraySetIndexed(FlowGraph* flow_graph) {
builder.AddInstruction(
new CheckSmiInstr(new Value(value),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
builder.AddInstruction(
@@ -408,7 +408,7 @@ bool Intrinsifier::Build_Uint8ArraySetIndexed(FlowGraph* flow_graph) {
kNoStoreBarrier,
1, // index scale
kTypedDataUint8ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
// Return null.
Definition* null_def = builder.AddNullDefinition();
@@ -430,7 +430,7 @@ bool Intrinsifier::Build_ExternalUint8ArraySetIndexed(FlowGraph* flow_graph) {
builder.AddInstruction(
new CheckSmiInstr(new Value(value),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
Definition* elements = builder.AddDefinition(
new LoadUntaggedInstr(new Value(array),
@@ -442,7 +442,7 @@ bool Intrinsifier::Build_ExternalUint8ArraySetIndexed(FlowGraph* flow_graph) {
kNoStoreBarrier,
1, // index scale
kExternalTypedDataUint8ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
// Return null.
Definition* null_def = builder.AddNullDefinition();
@@ -472,7 +472,7 @@ bool Intrinsifier::Build_Uint32ArraySetIndexed(FlowGraph* flow_graph) {
kNoStoreBarrier,
4, // index scale
kTypedDataUint32ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
// Return null.
Definition* null_def = builder.AddNullDefinition();
@@ -496,7 +496,7 @@ bool Intrinsifier::Build_Uint32ArrayGetIndexed(FlowGraph* flow_graph) {
new Value(index),
4, // index scale
kTypedDataUint32ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
Definition* result = builder.AddDefinition(
BoxInstr::Create(kUnboxedUint32, new Value(unboxed_value)));
@@ -522,12 +522,12 @@ bool Intrinsifier::Build_Float64ArraySetIndexed(FlowGraph* flow_graph) {
flow_graph->function(),
String::Handle(flow_graph->function().name()),
Object::empty_array(), // Dummy args. descr.
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
1));
value_check.AddReceiverCheck(kDoubleCid, flow_graph->function());
builder.AddInstruction(
new CheckClassInstr(new Value(value),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
value_check,
builder.TokenPos()));
Definition* double_value =
@@ -540,7 +540,7 @@ bool Intrinsifier::Build_Float64ArraySetIndexed(FlowGraph* flow_graph) {
kNoStoreBarrier,
8, // index scale
kTypedDataFloat64ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
// Return null.
Definition* null_def = builder.AddNullDefinition();
@@ -566,7 +566,7 @@ bool Intrinsifier::Build_Float64ArrayGetIndexed(FlowGraph* flow_graph) {
new Value(index),
8, // index scale
kTypedDataFloat64ArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
Definition* result = builder.AddDefinition(
BoxInstr::Create(kUnboxedDouble, new Value(unboxed_value)));
@@ -589,13 +589,13 @@ static bool BuildBinaryFloat32x4Op(FlowGraph* flow_graph, Token::Kind kind) {
flow_graph->function(),
String::Handle(flow_graph->function().name()),
Object::empty_array(), // Dummy args. descr.
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
1));
value_check.AddReceiverCheck(kFloat32x4Cid, flow_graph->function());
// Check argument. Receiver (left) is known to be a Float32x4.
builder.AddInstruction(
new CheckClassInstr(new Value(right),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
value_check,
builder.TokenPos()));
Definition* left_simd =
@@ -608,7 +608,7 @@ static bool BuildBinaryFloat32x4Op(FlowGraph* flow_graph, Token::Kind kind) {
new BinaryFloat32x4OpInstr(kind,
new Value(left_simd),
new Value(right_simd),
- Isolate::kNoDeoptId));
+ Thread::kNoDeoptId));
Definition* result = builder.AddDefinition(
BoxInstr::Create(kUnboxedFloat32x4, new Value(unboxed_result)));
builder.AddIntrinsicReturn(new Value(result));
@@ -647,7 +647,7 @@ static bool BuildFloat32x4Shuffle(FlowGraph* flow_graph,
new Simd32x4ShuffleInstr(kind,
new Value(unboxed_receiver),
0,
- Isolate::kNoDeoptId));
+ Thread::kNoDeoptId));
Definition* result = builder.AddDefinition(
BoxInstr::Create(kUnboxedDouble, new Value(unboxed_result)));
@@ -765,7 +765,7 @@ bool Intrinsifier::Build_GrowableArrayGetIndexed(FlowGraph* flow_graph) {
new Value(index),
Instance::ElementSizeFor(kArrayCid), // index scale
kArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
builder.AddIntrinsicReturn(new Value(result));
return true;
@@ -801,7 +801,7 @@ bool Intrinsifier::Build_GrowableArraySetIndexed(FlowGraph* flow_graph) {
kEmitStoreBarrier,
Instance::ElementSizeFor(kArrayCid), // index scale
kArrayCid,
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
// Return null.
Definition* null_def = builder.AddNullDefinition();
@@ -822,12 +822,12 @@ bool Intrinsifier::Build_GrowableArraySetData(FlowGraph* flow_graph) {
flow_graph->function(),
String::Handle(flow_graph->function().name()),
Object::empty_array(), // Dummy args. descr.
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
1));
value_check.AddReceiverCheck(kArrayCid, flow_graph->function());
builder.AddInstruction(
new CheckClassInstr(new Value(data),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
value_check,
builder.TokenPos()));
@@ -854,7 +854,7 @@ bool Intrinsifier::Build_GrowableArraySetLength(FlowGraph* flow_graph) {
builder.AddInstruction(
new CheckSmiInstr(new Value(length),
- Isolate::kNoDeoptId,
+ Thread::kNoDeoptId,
builder.TokenPos()));
builder.AddInstruction(
new StoreInstanceFieldInstr(GrowableObjectArray::length_offset(),

Powered by Google App Engine
This is Rietveld 408576698