dart2js cps: Use CPS IR for patched functions and typed data.
R=asgerf@google.com Review URL: https://codereview.chromium.org//1241303003 .
This commit is contained in:
@@ -62,17 +62,10 @@ class CpsFunctionCompiler implements FunctionCompiler {
|
||||
JavaScriptBackend backend = compiler.backend;
|
||||
return compiler.withCurrentElement(element, () {
|
||||
try {
|
||||
ClassElement cls = element.enclosingClass;
|
||||
String name = element.name;
|
||||
String className = cls == null ? null : cls.name;
|
||||
LibraryElement library = element.library;
|
||||
String libraryName = library == null ? null : library.toString();
|
||||
// TODO(karlklose): remove this fallback.
|
||||
// Fallback for a few functions that we know require try-finally and
|
||||
// switch.
|
||||
if (element.isNative ||
|
||||
element.isPatched ||
|
||||
libraryName == 'origin library(dart:typed_data)') {
|
||||
if (element.isNative) {
|
||||
compiler.log('Using SSA compiler for platform element $element');
|
||||
return fallbackCompiler.compile(work);
|
||||
}
|
||||
|
||||
@@ -9600,6 +9600,7 @@ Language/13_Statements/06_For_A01_t07: Crash # unsupported operation on erroneou
|
||||
Language/13_Statements/12_Labels_A03_t04: Crash # (switch (i){L:case 0:flag=true;break;case 2:continue L;}): continue to a labeled switch case
|
||||
Language/13_Statements/14_Continue_A02_t12: Crash # (switch (2){L:case 1:flag=true;break;case 2:continue L;}): continue to a labeled switch case
|
||||
Language/13_Statements/14_Continue_A02_t13: Crash # (switch (2){case 2:continue L;L:case 1:flag=true;}): continue to a labeled switch case
|
||||
Language/15_Types/4_Interface_Types_A12_t09: RuntimeError # Please triage this failure.
|
||||
LibTest/async/DeferredLibrary/DeferredLibrary_A01_t01: Crash # (lazy.method()): deferred access is not implemented
|
||||
LibTest/collection/ListBase/ListBase_class_A01_t02: Crash # Stack Overflow
|
||||
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Crash # Stack Overflow
|
||||
|
||||
@@ -214,13 +214,14 @@ big_integer_parsed_mul_div_vm_test: Pass, Slow
|
||||
|
||||
[ $compiler == dart2js && $cps_ir ]
|
||||
error_stack_trace1_test: Pass # H.unwrapException(...).get$stackTrace is not a function
|
||||
hashcode_test: RuntimeError # Please triage this failure.
|
||||
iterable_empty_test: RuntimeError # Please triage this failure.
|
||||
iterable_return_type_test/none: RuntimeError # Please triage this failure.
|
||||
iterable_to_list_test: RuntimeError # Please triage this failure.
|
||||
iterable_to_set_test: RuntimeError # Please triage this failure.
|
||||
list_filled_type_argument_test: RuntimeError # Please triage this failure.
|
||||
list_test/01: RuntimeError # this.get$length is not a function
|
||||
list_test/none: RuntimeError # this.get$length is not a function
|
||||
list_unmodifiable_test: RuntimeError # Please triage this failure.
|
||||
map_values2_test: RuntimeError # Please triage this failure.
|
||||
map_values3_test: RuntimeError # Please triage this failure.
|
||||
map_values4_test: RuntimeError # Please triage this failure.
|
||||
|
||||
@@ -355,6 +355,7 @@ cha_deopt3_test: Crash # (d.make_u()): deferred access is not implemented
|
||||
classes_static_method_clash_test: Crash # Stack Overflow
|
||||
closure_in_constructor_test: Crash # Invalid argument(s)
|
||||
closure_type_variables_test: Crash # Invalid argument(s)
|
||||
closures_initializer_test: RuntimeError # Please triage this failure.
|
||||
const_evaluation_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
|
||||
constructor12_test: RuntimeError # Please triage this failure.
|
||||
crash_6725_test/01: Crash # The null object does not have a getter '_element'.
|
||||
@@ -404,6 +405,7 @@ deferred_type_dependency_test/none: Crash # (main()async{await l... cannot hand
|
||||
deferred_type_dependency_test/type_annotation: Crash # (main()async{await l... cannot handle async/sync*/async* functions
|
||||
enum_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
|
||||
final_super_field_set_test/01: RuntimeError # Please triage this failure.
|
||||
first_class_types_test: RuntimeError # Please triage this failure.
|
||||
flatten_test/01: Crash # (test()async{int x=await new Derived<int>();}): cannot handle async/sync*/async* functions
|
||||
flatten_test/02: Crash # (test()async{Future<int> f()async=>new Derived<int>();}): cannot handle async/sync*/async* functions
|
||||
flatten_test/03: Crash # (test()async{Future<... cannot handle async/sync*/async* functions
|
||||
@@ -419,7 +421,10 @@ flatten_test/12: Crash # (test()async{Future<... cannot handle async/sync*/asyn
|
||||
flatten_test/none: Crash # (test()async{}): cannot handle async/sync*/async* functions
|
||||
for2_test: Crash # The null object does not have a getter 'field'.
|
||||
for_variable_capture_test: Crash # (i=0): For-loop variable captured in loop header
|
||||
generic2_test: RuntimeError # Please triage this failure.
|
||||
generic_field_mixin3_test: RuntimeError # Please triage this failure.
|
||||
generic_instanceof_test: RuntimeError # Please triage this failure.
|
||||
generic_native_test: RuntimeError # Please triage this failure.
|
||||
if_null_assignment_behavior_test/12: RuntimeError # Please triage this failure.
|
||||
if_null_assignment_behavior_test/28: RuntimeError # Please triage this failure.
|
||||
if_null_assignment_static_test/01: RuntimeError # v0.get$a is not a function
|
||||
@@ -436,12 +441,15 @@ if_null_assignment_static_test/39: RuntimeError # v0.get$b is not a function
|
||||
if_null_assignment_static_test/40: RuntimeError # v0.get$a is not a function
|
||||
infinite_switch_label_test: Crash # (switch (target){l0:... continue to a labeled switch case
|
||||
instance_creation_in_function_annotation_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
|
||||
instanceof2_test: RuntimeError # Please triage this failure.
|
||||
instanceof4_test/01: RuntimeError # Please triage this failure.
|
||||
invocation_mirror_invoke_on_test: RuntimeError # Please triage this failure.
|
||||
invocation_mirror_test: Crash # (super[37]=42): visitUnresolvedSuperIndexSet
|
||||
issue_1751477_test: RuntimeError # O.loadLibrary is not a function
|
||||
large_class_declaration_test: Crash # Stack Overflow
|
||||
list_is_test: RuntimeError # Please triage this failure.
|
||||
list_test: RuntimeError # Please triage this failure.
|
||||
many_generic_instanceof_test: RuntimeError # Please triage this failure.
|
||||
many_overridden_no_such_method_test: RuntimeError # Please triage this failure.
|
||||
mixin_type_parameters_mixin_extends_test: Crash # The null object does not have a getter '_element'.
|
||||
mixin_type_parameters_mixin_test: Crash # The null object does not have a getter '_element'.
|
||||
@@ -501,3 +509,6 @@ type_parameter_test/06: Crash # Invalid argument(s)
|
||||
type_parameter_test/none: Crash # Invalid argument(s)
|
||||
type_variable_closure2_test: RuntimeError # Please triage this failure.
|
||||
type_variable_closure_test: Crash # Invalid argument(s)
|
||||
type_variable_field_initializer_closure_test: RuntimeError # Please triage this failure.
|
||||
type_variable_field_initializer_test: RuntimeError # Please triage this failure.
|
||||
type_variable_nested_test: RuntimeError # Please triage this failure.
|
||||
|
||||
Reference in New Issue
Block a user