Bug 35716

Summary: Allow static property getters to interact with JSCs caching
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Other   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 46423    
Attachments:
Description Flags
Patch barraclough: review+

Description Oliver Hunt 2010-03-03 20:53:18 PST
Allow static property getters to interact with JSCs caching
Comment 1 Oliver Hunt 2010-03-03 21:15:32 PST
Created attachment 49982 [details]
Patch
Comment 2 WebKit Review Bot 2010-03-03 21:19:12 PST
Attachment 49982 [details] did not pass style-queue:

Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1
JavaScriptCore/interpreter/Interpreter.cpp:2248:  Missing spaces around &&  [whitespace/operators] [3]
JavaScriptCore/interpreter/Interpreter.cpp:2421:  Missing spaces around &&  [whitespace/operators] [3]
JavaScriptCore/interpreter/Interpreter.cpp:2533:  Missing spaces around &&  [whitespace/operators] [3]
Total errors found: 3 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Gavin Barraclough 2010-03-03 22:24:19 PST
Comment on attachment 49982 [details]
Patch

 2318         // Polymorphic self access caching currently only supported when JITting.
 2319         ASSERT_NOT_REACHED();
 2320         // This case of the switch must not be empty, else (op_get_by_id_self_list == op_get_by_id_chain)!
 2321         vPC += OPCODE_LENGTH(op_get_by_id_self_list);
 2322         NEXT_INSTRUCTION();
 2323     }

 2324     DEFINE_OPCODE(op_get_by_id_custom_proto_list) {
 2325         // Polymorphic prototype access caching currently only supported when JITting.
 2326         ASSERT_NOT_REACHED();
 2327         // This case of the switch must not be empty, else (op_get_by_id_proto_list == op_get_by_id_chain)!
 2328         vPC += OPCODE_LENGTH(op_get_by_id_proto_list);
 2329         NEXT_INSTRUCTION();

Probably best to remove the vPC increment in these cases.  In case of error (or maliciously bad input) it would probably be better to hang than to continue execution of invalid bytecode.

In 'op_get_by_id_custom_proto' implementation in the interpreter, comments incorrectly refer to 'op_get_by_id_getter_proto' (from copy and paste, presumably).  (ditto errors in comments in op_get_by_id_custom_self, op_get_by_id_custom_chain )

r-, you mix 'C' and 'c' in naming the prgramming language in the changelog.  r+ if you fix that. :-P
Comment 4 Oliver Hunt 2010-03-04 17:34:15 PST
Committed r55564: <http://trac.webkit.org/changeset/55564>