Skip to content

Commit

Permalink
CogVM source as per /VMMaker.oscog-eem.253.
Browse files Browse the repository at this point in the history
Implement absent receiver dynamic super send in the Cogit.

Change the Teleplace licenses to 3D ICC.


git-svn-id: http://squeakvm.org/svn/squeak/branches/Cog@2669 fa1542d4-bde8-0310-ad64-8ed1123d492a

Former-commit-id: 53aa860b7d33811becf39f2ba7277ce507b5e107
  • Loading branch information
eliotmiranda committed Jan 10, 2013
1 parent 2dc850a commit 13f1f08
Show file tree
Hide file tree
Showing 13 changed files with 52 additions and 43 deletions.
5 changes: 3 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
All contributions from Teleplace in this release are
Copyright (c) 2010 Teleplace, Inc.
License (MIT):
All contributions from 3D Immersive Collaboration Consulting in this release are
Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ best as time allows. Better still if you find and fix bugs be sure to let me
know.

License (MIT):
Copyright (c) 2010 Teleplace, Inc.
Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 0 additions & 3 deletions macbuild/Mpeg3Plugin/Mpeg3Plugin.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -259,9 +259,6 @@
/* Begin PBXProject section */
66DF6BFD01D7DCEA00A80119 /* Project object */ = {
isa = PBXProject;
attributes = {
ORGANIZATIONNAME = "Teleplace, Inc.";
};
buildConfigurationList = 946BCE000959347500803517 /* Build configuration list for PBXProject "Mpeg3Plugin" */;
compatibilityVersion = "Xcode 3.0";
developmentRegion = English;
Expand Down
15 changes: 0 additions & 15 deletions macbuild/install.sh

This file was deleted.

53 changes: 41 additions & 12 deletions nscogsrc/vm/cogit.c
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* Automatically generated by
CCodeGenerator VMMaker.oscog-eem.250 uuid: e0de5572-7682-4c5e-b5a0-ca2f32cf0c81
CCodeGenerator VMMaker.oscog-eem.253 uuid: 4a3ac3fb-d367-478b-ad95-ad3bb8b6216f
from
StackToRegisterMappingCogit VMMaker.oscog-eem.250 uuid: e0de5572-7682-4c5e-b5a0-ca2f32cf0c81
StackToRegisterMappingCogit VMMaker.oscog-eem.253 uuid: 4a3ac3fb-d367-478b-ad95-ad3bb8b6216f
*/
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.250 uuid: e0de5572-7682-4c5e-b5a0-ca2f32cf0c81 " __DATE__ ;
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.253 uuid: 4a3ac3fb-d367-478b-ad95-ad3bb8b6216f " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;


Expand Down Expand Up @@ -752,8 +752,10 @@ static sqInt genSafeTrampolineForcalledargarg(void *aRoutine, char *aString, sqI
static sqInt genSaveRegisters(AbstractInstruction * self_in_genSaveRegisters);
static sqInt genSaveStackPointers(void);
static sqInt genSecondExtendedSendBytecode(void);
static sqInt genSendAbsentDynamicSupernumArgs(sqInt selector, sqInt numArgs);
static sqInt genSendAbsentImplicit0ArgsBytecode(void);
static sqInt genSendAbsentImplicitnumArgs(sqInt selector, sqInt numArgs);
static sqInt genSendDynamicSupernumArgs(sqInt selector, sqInt numArgs);
static sqInt genSendLiteralSelector0ArgsBytecode(void);
static sqInt genSendLiteralSelector1ArgBytecode(void);
static sqInt genSendLiteralSelector2ArgsBytecode(void);
Expand Down Expand Up @@ -8570,13 +8572,7 @@ genDoubleFailIfZeroArgRcvrarg(sqInt rcvrReg, sqInt argReg)
static sqInt
genDynamicSuperSendBytecode(void)
{
sqInt numArgs;
sqInt selector;

numArgs = byte1;
selector = literalofMethod(byte2, methodObj);
marshallSendArguments(numArgs);
return genMarshalledSendDynamicSupernumArgs(selector, numArgs);
return genSendDynamicSupernumArgs(literalofMethod(byte2, methodObj), byte1);
}


Expand Down Expand Up @@ -8984,8 +8980,14 @@ genExtReturnTopFromBlock(void)
static sqInt
genExtSendAbsentDynamicSuperBytecode(void)
{
error("shouldBeImplemented");
return EncounteredUnknownBytecode;
sqInt litIndex;
sqInt nArgs;

litIndex = (((usqInt) byte1) >> 3) + (extA << 5);
extA = 0;
nArgs = (byte1 & 7) + (extB << 3);
extB = 0;
return genSendAbsentDynamicSupernumArgs(literalofMethod(litIndex, methodObj), nArgs);
}


Expand Down Expand Up @@ -12426,6 +12428,26 @@ genSecondExtendedSendBytecode(void)
}


/* OK, we could do better and avoid spilling ReceiverResultReg if we
refactored marshallImplicitReceiverSendArguments: to take a flag saying
whether the
receiver was in ReceiverResultReg (absent receiver send) or on the stack
(absent dynamic super send) and in the latter case loading
ReceiverResultReg from the stack after marshalling. But this is a rare
bytecode so for the moment
don't bother. */

static sqInt
genSendAbsentDynamicSupernumArgs(sqInt selector, sqInt numArgs)
{
ssAllocateCallReg(ReceiverResultReg);
/* begin MoveMw:r:R: */
genoperandoperandoperand(MoveMwrR, FoxMFReceiver, FPReg, ReceiverResultReg);
marshallImplicitReceiverSendArguments(numArgs);
return genMarshalledSendDynamicSupernumArgs(selector, numArgs);
}


/* 160-175 1010 i i i i Send To Absent Implicit Receiver Literal Selector
#iiii With 0 Arguments.
*/
Expand Down Expand Up @@ -12453,6 +12475,13 @@ genSendAbsentImplicitnumArgs(sqInt selector, sqInt numArgs)
return genMarshalledSendnumArgs(selector, numArgs);
}

static sqInt
genSendDynamicSupernumArgs(sqInt selector, sqInt numArgs)
{
marshallSendArguments(numArgs);
return genMarshalledSendDynamicSupernumArgs(selector, numArgs);
}

static sqInt
genSendLiteralSelector0ArgsBytecode(void)
{
Expand Down
2 changes: 1 addition & 1 deletion nscogsrc/vm/cogit.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Automatically generated by
CCodeGenerator VMMaker.oscog-eem.250 uuid: e0de5572-7682-4c5e-b5a0-ca2f32cf0c81
CCodeGenerator VMMaker.oscog-eem.253 uuid: 4a3ac3fb-d367-478b-ad95-ad3bb8b6216f
*/


Expand Down
2 changes: 1 addition & 1 deletion nscogsrc/vm/cogmethod.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Automatically generated by
CCodeGenerator VMMaker.oscog-eem.250 uuid: e0de5572-7682-4c5e-b5a0-ca2f32cf0c81
CCodeGenerator VMMaker.oscog-eem.253 uuid: 4a3ac3fb-d367-478b-ad95-ad3bb8b6216f
*/

typedef struct {
Expand Down
2 changes: 1 addition & 1 deletion platforms/Cross/vm/sqExternalSemaphores.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Authors: Eliot Miranda & Brad Fowlow
*
* Copyright (C) 2009 by Teleplace, Inc.
* Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.
*
* All rights reserved.
*
Expand Down
2 changes: 1 addition & 1 deletion platforms/Cross/vm/sqMemoryFence.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Author: Eliot Miranda
*
* Copyright (C) 2010 by Teleplace, Inc.
* Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.
*
* All rights reserved.
*
Expand Down
2 changes: 1 addition & 1 deletion platforms/Cross/vm/sqTicker.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Authors: Eliot Miranda & Josh Gargus
*
* Copyright (C) 2010 by Teleplace, Inc.
* Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.
*
* All rights reserved.
*
Expand Down
2 changes: 1 addition & 1 deletion platforms/Mac OS/vm/nsPoolManagement.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// CoreVM
//
// Created by Brad Fowlow on 10/15/09.
// Copyright 2009 Teleplace, Inc. All rights reserved.
// Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.

// Main autorelese-pool drain/reset.
// To be called regularly,
Expand Down
2 changes: 1 addition & 1 deletion platforms/Mac OS/vm/nsPoolManagement.m
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// CoreVM
//
// Created by Brad Fowlow on 10/15/09.
// Copyright 2009 Teleplace, Inc. All rights reserved.
// Copyright (c) 2013 3D Immersive Collaboration Consulting, LLC.

#import "interp.h"
#import "sqMemoryAccess.h" /* for sqInt ?!?!? */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,9 +259,6 @@
/* Begin PBXProject section */
66DF6BFD01D7DCEA00A80119 /* Project object */ = {
isa = PBXProject;
attributes = {
ORGANIZATIONNAME = "Teleplace, Inc.";
};
buildConfigurationList = 946BCE000959347500803517 /* Build configuration list for PBXProject "Mpeg3Plugin" */;
compatibilityVersion = "Xcode 3.0";
developmentRegion = English;
Expand Down

0 comments on commit 13f1f08

Please sign in to comment.