- 10 Oct, 2008 1 commit
-
-
iposva@chromium.org authored
There is nothing virtual about a CodeGenerator since we either generate code for one platform or for the other. Review URL: http://codereview.chromium.org/6334 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Oct, 2008 2 commits
-
-
kasperl@chromium.org authored
and extended the instanceof test case. Review URL: http://codereview.chromium.org/6341 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
helper class. As a consequence, also removed the optional Reference from the code generator state and got rid of some state-dependent behavior in the code generator. Review URL: http://codereview.chromium.org/6538 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Oct, 2008 2 commits
-
-
kmillikin@chromium.org authored
onto the platform-specific Reference class defined in codegen-*.cc. This removes all of the static code generator functions. Review URL: http://codereview.chromium.org/6527 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
about references in the code generators. Review URL: http://codereview.chromium.org/6301 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Oct, 2008 3 commits
-
-
kmillikin@chromium.org authored
stack which was returned and always pushed back. Removed it. Review URL: http://codereview.chromium.org/6802 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/6491 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
care of arguments adaptor frames in the generated code. Review URL: http://codereview.chromium.org/6262 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Oct, 2008 1 commit
-
-
lrn@chromium.org authored
Refactored to reuse code between ia32 and ARM. Added tests for switch. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2008 3 commits
-
-
kmillikin@chromium.org authored
expression stack when it is already there. Also, cleanup up the (two!) extra copies of the arguments object left on the stack. Review URL: http://codereview.chromium.org/5667 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
functions on AST nodes, and helper class member functions (eg, stub classes) toward the bottom of the codegen*.cc files. The macro __ is now #define'd exactly twice and #undef'd twice. Review URL: http://codereview.chromium.org/6075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
functions and the ones defined on the AST nodes take a code generator, rather than a macro assembler and (sometimes) scope. Uniformly use the __ macro for masm_/masm in the codegen*.cc files. Review URL: http://codereview.chromium.org/5663 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2008 2 commits
-
-
kasperl@chromium.org authored
during the execution of a finally block by just pushing the state on the execution stack instead. Review URL: http://codereview.chromium.org/5626 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
are evaluated with an extra element on the stack, which needs to be taken into account when breaking and continuing. I'll clean up the code and add an abstraction for manipulating the break stack height in a future CL -- I want to try to get rid of the separate local variable we keep around for the "state" when running in a finally block. Review URL: http://codereview.chromium.org/5625 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2008 2 commits
-
-
kasperl@chromium.org authored
functions in the macro assembler. Review URL: http://codereview.chromium.org/4402 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
from JavaScript to C++). Includes a few slight optimizations like keeping argv in a callee-saved register. Review URL: http://codereview.chromium.org/4035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2008 1 commit
-
-
sgjesse@chromium.org authored
upper case. Moved it into the RelocInfo class together with the associated is_xxx functions. Renamed is_xxx to IsXxx in the process. Removed the exit_js_frame mode as it was no longer used. Patch Set 2 renames RELOC_MODE_COUNT to NUMBER_OF_MODES and fixes a couple of lint errors. Review URL: http://codereview.chromium.org/3186 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2008 2 commits
-
-
kasperl@chromium.org authored
down too. Also fix lint issue in codegen-arm.cc. Reviewed offline by Ivan (iposva@chromium.org). Review URL: http://codereview.chromium.org/3080 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://code.google.com/p/v8/issues/detail?id=69iposva@chromium.org authored
- Simplify the switch statement code generation. - Ensure that the switch value is always popped from the stack. Credit goes to Feng for isolating the issue and proposing a fix. Review URL: http://codereview.chromium.org/2888 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Sep, 2008 1 commit
-
-
kasperl@chromium.org authored
arguments adaptor code to allow builtins to work without argument adaptor frames. Get rid of unused JavaScript implementation of call and apply and the associated code generation hooks. Review URL: http://codereview.chromium.org/2850 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2008 4 commits
-
-
deanm@chromium.org authored
This is a new static flag system, designed to have all flags in a central place, and compiled into the binary without requiring static constructors for registration. All flags are moved out of the specific modules and into flags.defs, with different sections for debug, release, etc. The flag variables are always defined. For example, a debug flag in release mode still exists, but is read only and set to the default value. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
should be marked explicit. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
stack, rather than explicitly saving and restoring it. Review URL: http://codereview.chromium.org/3002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
iposva@chromium.org authored
- Simplified frame entry and frame exit code. - Added ArgumentsAdaptorTrampoline and check for matching argument counts in the InvokePrologue. - Removed definition and uses of USE_OLD_CALLING_CONVENTIONS. - Changed MacroAssembler::InvokeBuiltin to match ia32 version. - Start introducing convenience instructions in the ARM assembler as needed. These instructions take all Register parameters to avoid extra typing of "Operand(reg)". To keep the architectures in sync these changes have been made to the ia32 files: - Changed MacroAssembler::EnterFrame(StackFrame::Type type) to MacroAssembler::EnterInternalFrame(). These parts are still missing: - unimplemented: Builtins::Generate_FunctionApply - large limit - unimplemented: Builtins::Generate_ArgumentsAdaptorTrampoline - non-function call - The files have not been lint'd yet. Review URL: http://codereview.chromium.org/1930 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2008 2 commits
-
-
kmillikin@chromium.org authored
opportunity. Review URL: http://codereview.chromium.org/2002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Simplify the code generator by eliminating the access types STORE and INIT_CONST and delegating code generation for stores to the appropriate AST nodes. Review URL: http://codereview.chromium.org/1889 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2008 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Added presubmit step to check copyright. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Sep, 2008 1 commit
-
-
ager@chromium.org authored
Avoid runtime calls for trivial object equality checks. Minor style cleanups. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2008 1 commit
-
-
ager@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2008 2 commits
-
-
feng.qian.v8 authored
KeyedLoadIC::GenerateGeneric (on IA32), and the same on ARM. Re-assignmed FIRST_JS_OBJECT_TYPE to JS_VALUE_TYPE. Also changed JS_OBJECT_TYPE to FIRST_JS_OBJECT_TYPE in several places where FIRST_JS_OBJECT_TYPE is intended. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
feng.qian.v8 authored
__ pop(eax); ... __ push(eax); to enable push/pop eliminations. __ push(eax) must happen before RecordWrite because RecordWrite may destroy eax value. To be safe, also moved __ push(r0) on ARM to above RecordWrite. This only affects the case where a context variable is used in a inner scope. Create a tests for it. It fails if __ push(eax) is after RecordWrite. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2008 1 commit
-
-
kodandersson@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@65 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Aug, 2008 1 commit
-
-
mads.s.ager@gmail.com authored
Fixed issue with building samples and cctests on 64-bit machines. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@23 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2008 1 commit
-
-
christian.plesner.hansen authored
Changed shell sample to take flags directly from the command-line. Added api call that implements this. Added better test support. Added load, quit and version functions to the shell sample so it's easier to run benchmarks and tests. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2008 1 commit
-
-
christian.plesner.hansen authored
In the shell sample don't print the result of executing a script, only evaluating expressions. Fixed issue when building samples on Windows using a shared V8 library. Added visibility option on Linux build which makes the generated library 18% smaller. Changed build system to accept multiple build modes in one build and generate seperate objects, libraries and executables for each mode. Removed deferred negation optimization (a * -b => -(a * b)) since this visibly changes operand conversion order. Improved parsing performance by introducing stack guard in preparsing. Without a stack guard preparsing always bails out with stack overflow. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Aug, 2008 1 commit
-
-
mads.s.ager authored
Improved performance of garbage collection by changing the way we use the marking stack in the event of stack overflow during full garbage collection and by changing the way we mark roots. Cleaned up ARM version by removing top of stack caching and by introducing push/pop elimination. Cleaned up the way runtime functions are called to allow runtime calls with no arguments. Changed Windows build options to make sure that exceptions are disabled and that optimization flags are enabled. Added first version of Visual Studio project files. git-svn-id: http://v8.googlecode.com/svn/trunk@13 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Aug, 2008 1 commit
-
-
mads.s.ager@gmail.com authored
Fixed the handling of '>' and '<=' to use right-to-left conversion and left-to-right evaluation as specified by ECMA-262. Fixed a branch elimination bug on the ARM platform where incorrect code was generated because of overly aggressive branch elimination. Improved performance of code that repeatedly assigns the same function to the same property of different objects with the same map. Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler no longer expects DEBUG to be defined. Added platform-nullos.cc to serve as the basis for new platform implementations. git-svn-id: http://v8.googlecode.com/svn/trunk@9 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2008 1 commit
-
-
kasper.lund authored
Added a few samples and support for building them. The samples include a simple shell that can be used to benchmark and test V8. Changed V8::GetVersion to return the version as a string. Added source for lazily loaded scripts to snapshots and made serialization non-destructive. Improved ARM support by fixing the write barrier code to use aligned loads and stores and by removing premature locals optimization that relied on broken support for callee-saved registers (removed). Refactored the code for marking live objects during garbage collection and the code for allocating objects in paged spaces. Introduced an abstraction for the map word of a heap-allocated object and changed the memory allocator to allocate executable memory only for spaces that may contain code objects. Moved StringBuilder to utils.h and ScopedLock to platform.h, where they can be used by debugging and logging modules. Added thread-safe message queues for dealing with debugger events. Fixed the source code reported by toString for certain builtin empty functions and made sure that the prototype property of a function is enumerable. Improved performance of converting values to condition flags in generated code. Merged disassembler-{arch} files. git-svn-id: http://v8.googlecode.com/svn/trunk@8 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jul, 2008 1 commit
-
-
kasper.lund authored
Added propagation of stack overflow exceptions that occur while compiling nested functions. Improved debugger with support for recursive break points and handling of exceptions that occur in the debugger JavaScript code. Renamed GetInternal to GetInternalField and SetInternal to SetInternalField in the API and moved InternalFieldCount and SetInternalFieldCount from FunctionTemplate to ObjectTemplate. git-svn-id: http://v8.googlecode.com/svn/trunk@5 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2008 1 commit
-
-
christian.plesner.hansen authored
git-svn-id: http://v8.googlecode.com/svn/trunk@2 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-