v8/src
fschneider@chromium.org 7a3a043eb2 Refactor code for generating assignments in the fast compiler.
1. Refactor the structure of VisitAssignment: The existing code is not ideal 
to be extended with support for compound assignments.

2. Reuse common code for keyed property assigments: Now variables rewritten 
to a property (.arguments access) are treated like normal keyed property
assignments. This allows us to remove some code duplication.

Review URL: http://codereview.chromium.org/456024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-12-04 14:30:27 +00:00
..
arm Refactor code for generating assignments in the fast compiler. 2009-12-04 14:30:27 +00:00
ia32 Refactor code for generating assignments in the fast compiler. 2009-12-04 14:30:27 +00:00
third_party Apply patch by Timur Iskhodzhanov to add valgrind notifications on 2009-10-26 17:53:34 +00:00
x64 Refactor code for generating assignments in the fast compiler. 2009-12-04 14:30:27 +00:00
accessors.cc Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
accessors.h Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
allocation.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
allocation.h Change the signature for StrNDup to match the implementation. This 2009-11-20 13:08:44 +00:00
api.cc Changed recording of heap stats on OOM to store data directly in local 2009-12-04 10:18:30 +00:00
api.h Reverting 3174. Aka reapplying 3150, 3151 and 3159. Aka api accessor 2009-11-04 08:51:48 +00:00
apinatives.js Convert object to fast mode after creation. That enables more optimizations. 2009-07-13 10:10:28 +00:00
apiutils.h Api inlining. Made some core functionality available in the api and 2009-08-26 10:33:11 +00:00
arguments.h Fix some style issues in the ARM code. 2009-11-12 13:55:21 +00:00
array.js Fix toLocaleString-related breakage on buildbot. 2009-12-01 14:19:23 +00:00
assembler.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
assembler.h * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
ast.cc In the toplevel compiler, shift the responsibility of assigning a 2009-10-28 13:25:40 +00:00
ast.h Added fast compiler support for calling JS runtime functions. 2009-11-27 00:28:06 +00:00
bootstrapper.cc Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
bootstrapper.h Fix small memory leak in new serialization code. 2009-11-09 13:30:50 +00:00
builtins.cc Store API callback entry address prior to entering a callback. 2009-11-23 14:43:00 +00:00
builtins.h Added infrastructure for optimizing new CanvasArray types in WebGL 2009-10-20 15:26:17 +00:00
bytecodes-irregexp.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
char-predicates-inl.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
char-predicates.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
checks.cc * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
checks.h Introduce v8::Integer::NewFromUnsigned method. 2009-10-08 12:54:29 +00:00
code-stubs.cc Fix thinko in fix for issue 484. 2009-11-11 14:32:14 +00:00
code-stubs.h Perform string add in generated code on IA-32 platforms 2009-12-03 07:56:21 +00:00
code.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
codegen-inl.h Simplify the processing of deferred code in the code generator. Our 2009-06-05 14:16:32 +00:00
codegen.cc Perform string add in generated code on IA-32 platforms 2009-12-03 07:56:21 +00:00
codegen.h Step next should respect do/while condition block. 2009-11-16 21:59:31 +00:00
compilation-cache.cc Add comment to compilation-cache.cc explaining choice of 5 generations. 2009-10-14 15:01:25 +00:00
compilation-cache.h Refactor the handling of generations in the compilation cache. 2009-06-22 11:12:51 +00:00
compiler.cc Refactor code for generating assignments in the fast compiler. 2009-12-04 14:30:27 +00:00
compiler.h Obey the flag --lazy in the toplevel code generator. 2009-11-04 17:59:24 +00:00
contexts.cc Implemented a ContextSlotCache for compiled code. 2009-06-22 08:09:57 +00:00
contexts.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
conversions-inl.h X64/Win64: Alternative implementation of fmod in general. 2009-10-23 09:18:19 +00:00
conversions.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
conversions.h X64/Win64: Alternative implementation of fmod in general. 2009-10-23 09:18:19 +00:00
counters.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
counters.h - Record cache hit rates at different levels in the compilation cache 2009-05-26 08:10:04 +00:00
cpu.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
d8-debug.cc Extend debugger agent protocol with a connect message.Added a name of the embedding application when enabeling the debugger agent.Send a connection message from the debugger agent to the remote debugger when connecting. This message contains the V8 version, the protcol version (currently 1) and the name of the embedding application. Currently this information is just printed raw as received. 2009-03-23 22:23:39 +00:00
d8-debug.h Add remote debugging front end to developer shell. 2009-03-04 09:42:51 +00:00
d8-posix.cc A follow-up to r3009: add parentheses around one more anonymous function. 2009-10-13 15:17:24 +00:00
d8-readline.cc Introducing a new StrNDup function that uses new[] for when we dispose the result using delete[]. 2009-03-18 12:27:37 +00:00
d8-windows.cc * Add rmdir, mkdir -p and umask to d8 on Unix. 2009-03-31 12:45:33 +00:00
d8.cc Check return code from fwrite 2009-12-03 08:48:32 +00:00
d8.h Add a readline() command to d8. This reads a single line, stripping 2009-08-13 07:07:41 +00:00
d8.js Added new scope type ScopeIterator::ScopeTypeCatch for with generated from catch blocks. 2009-09-08 10:20:28 +00:00
date-delay.js Add safe handling of NaN to Posix platform-dependent time functions. 2009-08-04 09:41:18 +00:00
dateparser-inl.h Untangle some #include dependencies. 2009-10-15 15:01:36 +00:00
dateparser.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
dateparser.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
debug-agent.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
debug-agent.h Fixed some cctest flakiness on mac. 2009-09-25 10:36:00 +00:00
debug-delay.js Add pause / resume profiling commands to debugger protocol. 2009-11-30 14:56:20 +00:00
debug.cc Add DebugMessageDispatchHandler 2009-11-18 08:59:28 +00:00
debug.h Move CPU-specific constants from debug.h into the platform-specific directories. 2009-11-30 15:09:49 +00:00
disasm.h Merge from experimental code generator branch to bleeding edge. 2009-02-27 13:00:32 +00:00
disassembler.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
disassembler.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
dtoa-config.c Initial OpenBSD support 2009-12-02 13:38:50 +00:00
execution.cc Fix issue 493: Infinite loop when debug break is set when entering function.apply. 2009-11-05 13:59:40 +00:00
execution.h Fix issue 493: Infinite loop when debug break is set when entering function.apply. 2009-11-05 13:59:40 +00:00
factory.cc Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
factory.h Remove sliced string string type 2009-11-10 13:23:05 +00:00
fast-codegen.cc Refactor code for generating assignments in the fast compiler. 2009-12-04 14:30:27 +00:00
fast-codegen.h Fast-codegen: Arguments object working on all platforms. 2009-11-26 10:28:32 +00:00
flag-definitions.h Introduce flag for using the fast compiler where possible. 2009-11-30 13:35:59 +00:00
flags.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
flags.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
frame-element.cc Patch by Mark Mentovai. Don't put static variables inline. 2009-07-17 05:37:09 +00:00
frame-element.h Patch by Mark Mentovai. Don't put static variables inline. 2009-07-17 05:37:09 +00:00
frames-inl.h Use stack frame marker constants to mark arguments adaptor frame. 2009-08-27 07:44:37 +00:00
frames.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
frames.h Reverting 3174. Aka reapplying 3150, 3151 and 3159. Aka api accessor 2009-11-04 08:51:48 +00:00
func-name-inferrer.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
func-name-inferrer.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
global-handles.cc Changed recording of heap stats on OOM to store data directly in local 2009-12-04 10:18:30 +00:00
global-handles.h Added recording of heap and global handle stats in a stack-allocated 2009-12-03 10:16:37 +00:00
globals.h * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
handles-inl.h Fix strict aliasing crash on x64. 2009-08-14 17:19:51 +00:00
handles.cc Remove some of the cache validity checks for for-in enumeration. We 2009-12-01 10:25:29 +00:00
handles.h Remove some of the cache validity checks for for-in enumeration. We 2009-12-01 10:25:29 +00:00
hashmap.cc Fix some defects identifies by Coverity Prevent. All are false 2009-07-22 11:29:38 +00:00
hashmap.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
heap-inl.h Remove the different length string types 2009-11-24 14:10:06 +00:00
heap-profiler.cc Made iteration of global handles more efficient on scavenges. 2009-11-05 15:12:36 +00:00
heap-profiler.h Heap profiler improvements. 2009-10-26 10:51:30 +00:00
heap.cc Changed recording of heap stats on OOM to store data directly in local 2009-12-04 10:18:30 +00:00
heap.h Changed recording of heap stats on OOM to store data directly in local 2009-12-04 10:18:30 +00:00
ic-inl.h Rename a constant to kCallTargetAddressOffset 2009-09-11 12:41:27 +00:00
ic.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
ic.h Added infrastructure for optimizing new CanvasArray types in WebGL 2009-10-20 15:26:17 +00:00
interpreter-irregexp.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
interpreter-irregexp.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
json-delay.js Remove unused parameter. 2009-05-18 13:16:48 +00:00
jsregexp.cc http://codereview.chromium.org/371067 thanks to Jan de Mooij 2009-11-09 13:21:14 +00:00
jsregexp.h * Fix regexp benchmark regression where we were doing work to 2009-11-09 10:01:23 +00:00
jump-target-inl.h Change the register allocator so that it no longer tracks references 2009-05-27 07:53:47 +00:00
jump-target.cc Eliminate most of the jump target jumping, branching, and binding 2009-08-10 11:13:34 +00:00
jump-target.h Untangle some #include dependencies. 2009-10-15 15:01:36 +00:00
list-inl.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
list.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
log-inl.h Store API callback entry address prior to entering a callback. 2009-11-23 14:43:00 +00:00
log-utils.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
log-utils.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
log.cc Include getters and setters callbacks invocations in CPU profiler log. 2009-11-25 16:39:18 +00:00
log.h Include getters and setters callbacks invocations in CPU profiler log. 2009-11-25 16:39:18 +00:00
macro-assembler.h Change the functions named AllocateObjectInNewSpace to AllocateInNewSpace. 2009-09-30 09:24:46 +00:00
macros.py Implement IS_OBJECT and IS_FUNCTION as inlined runtime functions. 2009-11-19 07:41:32 +00:00
mark-compact.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
mark-compact.h Change to limit the amount of space we waste due to fragmentation 2009-09-08 07:35:23 +00:00
math.js erikcorry: Remember to put objects back in fast case after adding functions. 2009-08-13 14:04:49 +00:00
memory.h Add near calls (32-bit displacement) to Code objects on X64 platform. 2009-10-06 13:11:05 +00:00
messages.cc Add support for forceful termination of JavaScript execution. 2009-08-19 15:14:11 +00:00
messages.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
messages.js Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
mirror-delay.js Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
mksnapshot.cc * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
natives.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
objects-debug.cc Fix debug build 2009-12-01 15:52:02 +00:00
objects-inl.h Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
objects.cc Remove some of the cache validity checks for for-in enumeration. We 2009-12-01 10:25:29 +00:00
objects.h Remove the last context dependent reference from the Script object 2009-12-01 14:36:45 +00:00
oprofile-agent.cc Added utility scripts for running oprofile in tools/oprofile. 2009-06-16 12:08:59 +00:00
oprofile-agent.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
parser.cc Step next should respect do/while condition block. 2009-11-16 21:59:31 +00:00
parser.h Remove a redundant field in the FunctionLiteral class. The boolean 2009-10-13 09:37:17 +00:00
platform-freebsd.cc Move function nan_value to POSIX platform file 2009-12-03 09:29:21 +00:00
platform-linux.cc Move function nan_value to POSIX platform file 2009-12-03 09:29:21 +00:00
platform-macos.cc Move function nan_value to POSIX platform file 2009-12-03 09:29:21 +00:00
platform-nullos.cc Allow a platform to indicate that some CPU features are always 2009-11-13 12:32:57 +00:00
platform-openbsd.cc Move function nan_value to POSIX platform file 2009-12-03 09:29:21 +00:00
platform-posix.cc Move function nan_value to POSIX platform file 2009-12-03 09:29:21 +00:00
platform-win32.cc Allow a platform to indicate that some CPU features are always 2009-11-13 12:32:57 +00:00
platform.h Allow a platform to indicate that some CPU features are always 2009-11-13 12:32:57 +00:00
prettyprinter.cc Remove an unused enumeration value. 2009-11-05 17:25:50 +00:00
prettyprinter.h Initial implementation of printing the AST as a JSON string. This 2009-10-12 15:06:28 +00:00
property.cc Remove the descriptor stream abstractions. 2009-07-10 19:25:18 +00:00
property.h Remove the descriptor stream abstractions. 2009-07-10 19:25:18 +00:00
regexp-delay.js Optimize %IsConstructCall() on IA-32. 2009-06-29 08:14:06 +00:00
regexp-macro-assembler-irregexp-inl.h ARM native regexps. 2009-08-31 12:40:37 +00:00
regexp-macro-assembler-irregexp.cc ARM native regexps. 2009-08-31 12:40:37 +00:00
regexp-macro-assembler-irregexp.h ARM native regexps. 2009-08-31 12:40:37 +00:00
regexp-macro-assembler-tracer.cc X64: Implement RegExp natively. 2009-08-14 11:24:32 +00:00
regexp-macro-assembler-tracer.h ARM native regexps. 2009-08-31 12:40:37 +00:00
regexp-macro-assembler.cc Remove sliced string string type 2009-11-10 13:23:05 +00:00
regexp-macro-assembler.h Handle the list of code-stub types using macro expansion. 2009-10-26 12:26:42 +00:00
regexp-stack.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
regexp-stack.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
register-allocator-inl.h Change the register allocator so that it no longer tracks references 2009-05-27 07:53:47 +00:00
register-allocator.cc Patch by Mark Mentovai. Don't put static variables inline. 2009-07-17 05:37:09 +00:00
register-allocator.h Patch by Mark Mentovai. Don't put static variables inline. 2009-07-17 05:37:09 +00:00
rewriter.cc Split the AST LoopStatement type into separate types for do/while, 2009-10-12 13:14:06 +00:00
rewriter.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
runtime.cc Fix issue 540 by handling the case that a declaration is in the 2009-12-04 11:59:09 +00:00
runtime.h Add pause / resume profiling commands to debugger protocol. 2009-11-30 14:56:20 +00:00
runtime.js Perform string add in generated code on IA-32 platforms 2009-12-03 07:56:21 +00:00
scanner.cc Reapply 3246 and 3247 after fixing valgrind warning. 2009-11-10 10:23:23 +00:00
scanner.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
SConscript Initial OpenBSD support 2009-12-02 13:38:50 +00:00
scopeinfo.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
scopeinfo.h Implemented a ContextSlotCache for compiled code. 2009-06-22 08:09:57 +00:00
scopes.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
scopes.h Fix lint error. 2009-08-19 12:44:45 +00:00
serialize.cc Fix 64 bit build. TBR=ager. 2009-11-25 13:27:15 +00:00
serialize.h * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
shell.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
simulator.h Rework the way we handle the fact that the ARM simulator uses a 2009-11-05 13:27:21 +00:00
smart-pointer.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
snapshot-common.cc * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
snapshot-empty.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
snapshot.h * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
spaces-inl.h applied patch 2009-10-20 23:25:05 +00:00
spaces.cc Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
spaces.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
string-stream.cc Remove the different length string types 2009-11-24 14:10:06 +00:00
string-stream.h Add initial version of retainers heap profile. 2009-09-16 13:41:24 +00:00
string.js Remove sliced string string type 2009-11-10 13:23:05 +00:00
stub-cache.cc Include getters and setters callbacks invocations in CPU profiler log. 2009-11-25 16:39:18 +00:00
stub-cache.h Remove the different length string types 2009-11-24 14:10:06 +00:00
token.cc Removed (now) unused Token-lookup code. 2009-11-05 10:24:20 +00:00
token.h Removed (now) unused Token-lookup code. 2009-11-05 10:24:20 +00:00
top.cc Fix some presubmit errors. 2009-11-16 16:58:09 +00:00
top.h Rework the way we handle the fact that the ARM simulator uses a 2009-11-05 13:27:21 +00:00
unicode-inl.h Cleanup include guards: 2009-05-04 13:36:43 +00:00
unicode.cc Small cleanup to Utf8::CalculateValue: 2009-07-13 11:17:51 +00:00
unicode.h Cleanup include guards: 2009-05-04 13:36:43 +00:00
uri.js * Remove non-Open Source code from Douglas Crockford. 2009-09-23 12:32:24 +00:00
usage-analyzer.cc Split the AST LoopStatement type into separate types for do/while, 2009-10-12 13:14:06 +00:00
usage-analyzer.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
utils.cc Remove the different length string types 2009-11-24 14:10:06 +00:00
utils.h Remove the different length string types 2009-11-24 14:10:06 +00:00
v8-counters.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
v8-counters.h Perform string add in generated code on IA-32 platforms 2009-12-03 07:56:21 +00:00
v8.cc Fix issue 520: wrap Logger calls into LOG macro 2009-11-20 12:38:59 +00:00
v8.h * Remove old snapshot implementation 2009-11-16 12:08:40 +00:00
v8natives.js Sorry, this should have gone to http://codereview.chromium.org/391014 2009-11-17 13:54:05 +00:00
v8threads.cc Ensure V8 is initialized before locking and unlocking threads. 2009-10-02 11:39:56 +00:00
v8threads.h * Fix memory leaks caused by thread local data being lost. 2009-09-28 12:25:21 +00:00
variables.cc Allocate arguments object on-demand instead of at function entry. 2009-06-24 08:01:38 +00:00
variables.h Remove CallEval as a subclass of the Call AST node type. We were not 2009-09-29 13:28:30 +00:00
version.cc Prepare push to trunk. Now working on 2.0.4. 2009-12-04 11:50:27 +00:00
version.h Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
virtual-frame.cc Removed static type inference and add a dynamic test for string addition. 2009-06-24 12:46:00 +00:00
virtual-frame.h - Add a "#error Unsupported target architecture." where needed. A chain of 2009-06-29 17:07:30 +00:00
zone-inl.h Eliminate recursion in ZoneSplayTree traversal. 2009-09-21 07:12:38 +00:00
zone.cc Fix some defects identifies by Coverity Prevent. All are false 2009-07-22 11:29:38 +00:00
zone.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00