- 15 Jan, 2010 5 commits
-
-
sgjesse@chromium.org authored
When a function is called with a value type as the receiver this is now boxed as an object. This is a low-impact solution where the receiver is only boxed when required. For IC calls to the V8 builtins values are not boxed and as most of the functions on String.prototype, Number.prototype and Boolean.prototype are sitting there most IC calls on values will not need any boxing of the receiver. For calls which are not IC calls but calls through the CallFunctionStub a flag is used to determine whether the receiver might be a value and only when that is the case will the receiver be boxed. No changtes to Function.call and Function.apply - they already boxed values. According to the ES5 spec the receiver should not be boxed for these functions, but current browsers have not adopted that change yet. BUG=223 TEST=test/mjsunit/value-wrapper.js TEST=test/mjsunit/regress/regress-crbug-3184.js Review URL: http://codereview.chromium.org/542087 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
62998 which corrects some errors in the tests that will otherwise make us (wrongly) fail. Review URL: http://codereview.chromium.org/545079 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
in particular). * Called function is passed on the stack instead of using a static variable. * Builtins that don't need the called function don't get it. * Made is_construct statically known to HandleApiCall by setting custom construct stub for API functions. Review URL: http://codereview.chromium.org/536065 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
* Refactor VisitProperty to use the platform-specific methods for emitting the IC calls. * Refactor recording of source positions in the top-level compiler. * Correct the recorded source positions for assignments and property loads. * Fix bug on x64 where source positions were not recorded before a calling a call-IC. * Correct some inconsistencies between IA-32 and X64 top-level code generator. We now pass all regression tests with --always-fast-compiler. Review URL: http://codereview.chromium.org/550043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Instead of returning the empty string when indexing a string out of bounds we now correctly return undefined. Review URL: http://codereview.chromium.org/542089 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2010 8 commits
-
-
fschneider@chromium.org authored
Replace runtime call to NumberAdd with call to binary op stub. Until now the top-level compiler always called a runtime function for count operations. In some places we expected in the JS builtins smis as arguments. If we perform a count operation before all smis would get converted into heap numbers by the runtime number add function and result in a runtime assert. Also: Add missing debugger information in the top-level compiler for do-while loops. Review URL: http://codereview.chromium.org/548029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/548041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
* Add a test case that generates a serialization of a single flat string. Review URL: http://codereview.chromium.org/542073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
callback property. Return undefined for Object.getOwnPropertyDescriptor on an API defined callback properties for now. Review URL: http://codereview.chromium.org/542074 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Fixes compiler warnings on Windows. TBR=antonm@chromium.org Review URL: http://codereview.chromium.org/549049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/545056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/543057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
compatibility with Safari. Review URL: http://codereview.chromium.org/543056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jan, 2010 11 commits
-
-
antonm@chromium.org authored
drop below threshold. Review URL: http://codereview.chromium.org/509035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/549035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
the code generators. These uses broke the rules of the class because it was safe to do so, but there was no real reason to do it that way. Review URL: http://codereview.chromium.org/543041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/536042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
We did not correcty pass the global receiver object in some cases. This change fixes this bug on all three platforms. Review URL: http://codereview.chromium.org/542053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Enabled es5conform tests for new array methods and corrected errors that was discovered by enabling these. Added new es5 methods: GetOwnPropertyDescriptor GetOwnProperty FromPropertyDescriptor Review URL: http://codereview.chromium.org/546032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Do abstract the setting and restoring of 'argument' state into a function that takes arguments. Do not set the argument state in the code generator unless it represents arguments to a recursive call to Visit. Review URL: http://codereview.chromium.org/550010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
the stack instead of popping it - it is needed by the slow case. Review URL: http://codereview.chromium.org/546031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
BUG=551 Review URL: http://codereview.chromium.org/541027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Landing http://codereview.chromium.org/548007 TBR=piman@chromium.org Review URL: http://codereview.chromium.org/549033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Landing of http://codereview.chromium.org/549018. TBR=piman@chromium.org Review URL: http://codereview.chromium.org/546030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jan, 2010 12 commits
-
-
antonm@chromium.org authored
TBR=kasperl@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
TBR=kasperl@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
When initializing the special local variable containing the reference to the enclosing function in named functions we now (correctly) emit an INIT_CONST instead of INIT_VAR, and we correctly bail out in the top-level code generator. Also part of this change is adding missing statement position information for some statements in the top-level code generator. Review URL: http://codereview.chromium.org/536029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/541026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
for partial snapshots. After reserving space we can be sure that allocations will happen linearly (no GCs and no free-list allocation). This change also contains the start of the partial snapshot support, which, however is not yet completed or tested. Review URL: http://codereview.chromium.org/545026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
fixups code on ARM. Review URL: http://codereview.chromium.org/545025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
instruction sequence for jumps: mov(ip, Operand(target, rmode), LeaveCC, cond); bx(ip, cond) Changed a JS call in the compare stub to a tail call to avoid GC problems where the pushed return address is not updated on GC. Review URL: http://codereview.chromium.org/549022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
guide. Review URL: http://codereview.chromium.org/541024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
* Rename the operation of filling a context with a value. Formerly it was 'Move', now it's 'Apply' so as to avoid confusion with various other Moves (eg, in the toplevel codegen, in the macro assemblers). * Use the abstraction Drop rather than math on the stack pointer. * Add a predicate on AST expression nodes to abstract a repeated test whether we should us a regular (named) IC or a keyed IC. Review URL: http://codereview.chromium.org/546006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
BUG=572 Review URL: http://codereview.chromium.org/549020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
BUG=552 Review URL: http://codereview.chromium.org/543010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jan, 2010 4 commits
-
-
sgjesse@chromium.org authored
Added newly added instructions to test-disasem-ia32.cc and implemented the missi ng ones in the disasembler. Added some asserts to 8-bit instructions which only work with eax, ebx, ecx and edx (al, bl, cl and dl). Removed the loope instruction. Review URL: http://codereview.chromium.org/548002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The subb and the loop instructions are also added to the IA-32 disassembler. Review URL: http://codereview.chromium.org/541008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
christian.plesner.hansen@gmail.com authored
Review URL: http://codereview.chromium.org/542010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
This fixes building D8 when SCons cannot figure the build environment and it is passed using the env argument. This is usually only used when building with Visual Studio 2008. Review URL: http://codereview.chromium.org/542009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-